我对Android SDK非常新颖,但是我已经设法创建了一个Dashboard布局,现在我正在构建每个仪表板按钮后面的活动类/布局。我点击事件触发&启动相关的按钮活动等(每个按钮1个动作)。我也有一个标题栏在每个活动布局,允许导航回到主仪表板,设置等基本外观&的感觉。在此之前,所有人都工作得很好。我现在试图在活动布局上使用ListView来显示来自本地数据库(sqlite)的数据。ListView:设置SimpleCursorAdapter会覆盖当前的ContentView
在我的onCreate()方法中,我使用SimpleCursorAdapter尝试将游标(SQL结果)绑定到我的布局中的ListView。我实际上在这里使用2个布局,基于我之前做过的教程(记事本)。第二个布局适用于光标中的每个“行”。问题是,一旦我将SimpleCursorAdapter中的布局设置为第二个布局,我就失去了第一个布局中的标题栏功能。很明显,如果我尝试复制第二个布局中的标题栏代码,它将在游标中的每个实例中重复。
此外 - 我所有的“子”活动类都是从继承自Activity的基类(FunDashboardActivity)继承而来的。由于我的设计,我不能在这里使用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"/>