我有一个带有 ListView 的 Android 应用程序。每一行都是由 SQLIte 查询结果动态生成的。当用户点击一个项目时,应用程序应该使用该项目的“内容”刷新列表,由另一个 SQLite 查询生成,依此类推。我试图“刷新”创建新意图并将其发送到同一活动的活动。活动名称为 ShopActivity
ListView list_content = ((ListView)findViewById(R.id.listforshop));
list_content.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// ID and text of selected item
long selected_id = id;
String selected_name = (String) ((TextView) view.findViewById(R.id.element)).getText();
// New intent
Intent intent = getIntent();
intent.setClassName(ShopActivity.this, ShopActivity.class.getName());
// Passing data and refreshing activity
intent.putExtra("id", selected_id);
intent.putExtra("name", selected_name);
intent.putExtra("type", "");
startActivity(intent);
}
});
通过这种方式,LogCat 向我显示了很多关于 Bundle 的警告。似乎应用程序无法启动活动。
还有另一种“刷新” ListView 的方法吗?这个实现正确吗?