Я очень плохо знаком с Android SDK, но мне удалось создать макет Dashboard, и сейчас я нахожусь в процессе создания классов / макетов действий за каждой кнопкой на панели инструментов. У меня есть событие click, запускающее и запускающее связанное действие кнопки и т.д. (1 действие на кнопку). У меня также есть заголовок на каждом макете деятельности, который позволяет вернуться к главной панели инструментов, настройкам и т. Д. Базовый внешний вид. До этого момента все работало отлично. Я сейчас пытаюсь использовать ListView на макетах деятельности для отображения данных из локальной базы данных (sqlite).
В моем методе onCreate () я использую SimpleCursorAdapter, чтобы попытаться привязать курсор (результат SQL) к ListView в моем макете. Я на самом деле использую 2 макета здесь на основе учебника, который я сделал ранее (Блокнот). 2-й макет для каждой «строки», присутствующей в курсоре. Проблема в том, что после того, как я установил макет в SimpleCursorAdapter для этого второго макета, я теряю функциональность заголовка в моем первом макете. И, очевидно, если я попытаюсь повторить код заголовка во втором макете, он будет повторяться с каждым экземпляром в курсоре.
Кроме того - все мои "под" классы активности наследуются от базового класса (FunDashboardActivity), который наследуется от Activity. Я не могу использовать ListActivity в качестве базового класса из-за моего дизайна. Опять же - я совершенно новичок в Android и буду очень признателен за любые отзывы / помощь. Заранее спасибо.
Это мой код активности:
public class FunSitesActivity extends FunDashboardActivity {
private int mSiteNumber = 1;
private FunDbAdapter mDbHelper;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act_sites);
mDbHelper = new FunDbAdapter(this);
mDbHelper.open();
fillData();
}
private void fillData() {
// Get Site Data Stored
Cursor c = mDbHelper.fetchAllSites();
startManagingCursor(c);
// Create Cursor Adapter
String[] from = new String[] { FunDbAdapter.KEY_SITE };
int[] to = new int[] { R.id.text1 };
SimpleCursorAdapter notes =
new SimpleCursorAdapter(this, R.layout.site_row, c, from, to);
// Create ListView & Set Cursor
ListView lv = new ListView(this);
lv.setAdapter(notes);
setContentView(lv);
}
// act_site xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout style="@style/TitleBar">
<ImageButton style="@style/TitleBarAction"
android:src="@drawable/title_home"
android:contentDescription="@string/description_about"
android:onClick="onClickHome" />
<ImageView style="@style/TitleBarSeparator" />
<TextView style="@style/TitleBarText" />
<ImageButton style="@style/TitleBarAction"
android:contentDescription="@string/description_config"
android:src="@drawable/title_config"
android:onClick="onClickConfig" />
<ImageButton style="@style/TitleBarAction"
android:contentDescription="@string/description_about"
android:src="@drawable/title_about"
android:onClick="onClickAbout" />
</LinearLayout>
<ListView
android:id="@+id/sitelist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_sites"/>
</LinearLayout>
// site_row xml
<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/text1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>