【发布时间】:2012-12-26 04:41:18
【问题描述】:
我有一个问题。 :)
在我正在开发的一个应用程序中,我有两个选项卡,两个选项卡都由各自的片段运行,每个选项卡都有一个列表视图。
现在,我需要用我在 SQLite 数据库中读取的数据填充这些列表。我为 DB 部分创建了几乎所有必要的类,但我被困在需要获取这些数据的部分
public List<String> getAllRockBands() {
List<String> bandList = new ArrayList<String>();
String selection = BAND_GENRE + "=1";
String orderBy = BAND_NAME+" ASC";
SQLiteDatabase db = sqLiteHelper.getReadableDatabase();
Cursor cursor = db.query(BANDDATABASE_TABLE,new String[]{BAND_NAME}, selection, null, null, null, orderBy);
int index = cursor.getColumnIndex(BAND_NAME);
if (cursor.moveToFirst()) {
do {
String bandName = cursor.getString(index);
bandList.add(bandName);
} while (cursor.moveToNext());
}
return bandList;
}
从我的 sqlhelper 类到我的 listfragment 扩展类。它的代码目前是:
public class RockAllFragment extends SherlockListFragment {
private String[] bandList;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.my_list, null);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onViewCreated(view, savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getSherlockActivity(), android.R.layout.simple_list_item_multiple_choice, android.R.id.text1, bandList));
}
}
使用private BandDatabaseAdapter mySQLiteAdapter; 并使用仅适用于 Activity 扩展类而不适用于 ListFragment 的方法?完成我想做的事情的最佳方式是什么? (P.S. 我对 Android 编程很陌生,如果我犯了一些小错误,请见谅 :)
谢谢,
阿列克萨
【问题讨论】:
-
CursorAdapter更适合您的场景。 自定义适配器会更好。
标签: android sqlite listview android-fragments actionbarsherlock