我是新來的android,我想要添加主題按鈕只顯示一次,而不是每個項目。我怎樣才能做到這一點使用SimpleCursorAdapter在LinearLayouts中使用ListView而不是全屏
問候 Waneya伊克巴爾
的代碼如下(見showSubjectOnList()方法):
公共類PopulatingSubject擴展ListActivity {
公共靜態字符串subjectName; 私人SoftCopyDatabase主題;
private static int[] subTO = { R.id.subject };
private static String[] subFROM = { SUBJECT };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
subjects = new SoftCopyDatabase(this);
}
@Override
public void onStart() {
super.onStart();
try {
showSubjectsOnList();
} catch (Exception e) {
e.printStackTrace();
}
}
public void onStop() {
super.onStop();
if (subjects.getReadableDatabase().isOpen()) {
subjects.close();
}
}
public void onDestroy(){
super.onDestroy();
if (subjects.getReadableDatabase().isOpen()) {
subjects.close();
}
}
private void showSubjectsOnList() {
String sql = "SELECT " + _ID + "," + SUBJECT + " FROM " + TABLE_NAME
+ " GROUP BY " + SUBJECT + ";";
Cursor cursor = subjects.getReadableDatabase().rawQuery(sql, null);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
R.layout.item_subject, cursor, subFROM, subTO);
setListAdapter(adapter);
startManagingCursor(cursor);
}
@Override
protected void onListItemClick(ListView listView, View view, int position,
long id) {
super.onListItemClick(listView, view, position, id);
subjectName=getSubjectName(Long.toString(id));
startActivity(new Intent(this, PopulatingLectures.class));
}
private String getSubjectName(String ID) {
Cursor cursor = subjects.getReadableDatabase().query(TABLE_NAME,
new String[] { SUBJECT }, "_ID=?", new String[] { ID }, null,
null, null);
cursor.moveToFirst();
int subjectIndex = cursor.getColumnIndex(SUBJECT);
String subjectName = cursor.getString(subjectIndex);
cursor.close();
return subjectName;
}
}
佈局如下:
佈局的圖片:
你可以舉一個你想要完成的佈局的例子嗎? – hooked82
其實我想實現的是在listActivity中添加一個按鈕,但不在列表中。如果我在擴展ListActivity的Activity中添加一個按鈕,則該按鈕將顯示在List的每個項目中,因爲SimpleCursorAdapter正在使用XML的ID填充列表。 –
什麼是問題? –