如何在android上设置数组元素的自定义位置

时间:2013-05-28 16:35:51

标签: android android-listview

关于此活动:

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添加为位置。

1 个答案:

答案 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(项目);         }     });