我是新来的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填充列表。 –
什么是问题? –