关于此活动:
public class ListfileActivity extends Activity {
public int MainId;
private ListView lv;
private ArrayList<String> listview_array = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Read page from DB
DatabaseHandler db = new DatabaseHandler(this);
List<Item> items = db.getAllItemCid();
// Add to array
for (Item cn : items) {
listview_array.add("ID : " + cn.getId() + " Title : " + cn.getTitle());
}
// Make list view
lv = (ListView) findViewById(R.id.listView1);
lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listview_array));
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Intent item = new Intent(getApplicationContext(), ItemfileActivity.class);
item.putExtra("id", arg2);
startActivity(item);
}
});
}
}
我从数据库中通过db.getAllItemCid()获取所有需要的日期,并生成listview whit数据,问题是我需要在thos部分添加数组元素位置:
for (Item cn : items) {
listview_array.add("ID : " + cn.getId() + " Title : " + cn.getTitle());
}
我想将每个行ID添加为位置(这是我每行的行ID:getId())并在onItemClick部分上选择位置。 as extra:item.putExtra(“id”,arg2);
并将id(位置)发送到下一个活动。
这个代码工作将,我只需要设置位置为id,现在它设置为0到...,我想将每个行id添加为位置。
答案 0 :(得分:0)
请参阅以下代码段。第四个参数本身返回所选项目的位置。
lv.setOnItemClickListener(new OnItemClickListener(){ @覆盖 public void onItemClick(AdapterView parent,View view,int id, long position ){ Intent item = new Intent(getApplicationContext(),ItemfileActivity.class); item.putExtra(&#34; id&#34;,id); startActivity(项目); } });