【发布时间】:2011-06-24 01:58:18
【问题描述】:
我是 android progmmaing 的新手,我想问一个简单的问题
我已经成功地解析了一个 rss 提要,并将特定元素(例如标题、发布日期、链接、媒体和描述)保存在数据库中。然后我使用数组列表从数据库中检索数据。代码是
public static ArrayList<Item> GetItems(AndroidDB androiddb) {
SQLiteDatabase DB = androiddb.getReadableDatabase();
ArrayList<Item> result = new ArrayList<Item>();
try {
Cursor c = DB.rawQuery("select * from ITEMS_TABLE", null);
if (c.getCount() > 0) {
c.moveToFirst();
do {
result.add(new Item(
c.getString(0),
c.getString(1),
c.getString(2),
c.getString(3),
c.getString(4)));
} while (c.moveToNext());
}
c.close();
DB.close();
} catch (SQLException e){
Log.e("DATABASE", "Parsing Error", e);
}
return result;
}
其中 0 包含标题元素的数据库的第一列
现在我想只使用 title 元素创建一个列表视图,所以我在 onCreate 方法中创建了一个 ArrayList,我的问题是如何从以前的 ArrayList 中仅复制引用 Title 元素的项目。我已经写了这部分代码。我应该在循环中写什么来复制特定的项目?
ArrayList<String> first_item = new ArrayList<String>();
items=AndroidDB.GetItems(rssHandler.androiddb);
int numRows=items.size();
for(int i=0; i < numRows; ++i) {
first_item.add());
}
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, first_item));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
Toast.LENGTH_SHORT).show();
}
});
}
catch (Exception e) {
tv.setText("Error: " + e.getMessage());
Log.e(MY_DEBUG_TAG, "Parsing Error", e);
}
this.setContentView(tv);
}
提前致谢
【问题讨论】: