将点击的项目ID从列表视图传递给活动

时间:2019-04-22 20:34:28

标签: android listview android-intent id

我正在使用意图putExtra将listview单击的项目ID发送到另一个活动,并使用getIntent()获取活动中的值。我在Listview上单击一个名称,它为我提供了有关先前添加成员的详细信息。没有给我有关点击姓名的人的详细信息。

我的列表视图活动。

        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,result);
        listContent.setAdapter(adapter);
        listContent.setTextFilterEnabled(true);

        c.close();

        listContent.setOnItemClickListener(this);
    }
    @Override
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        Intent myIntent = new Intent(Activity.this, details.class);
        myIntent.putExtra("id", id);
        startActivity(myIntent);
    }

这是我的第二项活动。

 @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_details);

    int value= getIntent().getIntExtra("id",0);

我希望当我在列表视图中单击一个名称时,它会在第二个活动中为我提供相同名称的详细信息。 但是这段代码为我提供了在点击名称上方的列表视图中放置人员的详细信息。 谢谢

1 个答案:

答案 0 :(得分:-1)

尝试一下。

 adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,result);
        listContent.setAdapter(adapter);
        listContent.setTextFilterEnabled(true);

        c.close();

        listContent.setOnItemClickListener(this);
    }
    @Override
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        Intent myIntent = new Intent(Activity.this, details.class);
        myIntent.putExtra("id", id);
        startActivities(new Intent[]{myIntent});
    }

第二项活动。

 private int value;

 @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_details);
        Intent intent = getIntent();
        if (intent.getExtras() != null) {
            value = intent.getExtras().getInt("id");
        }
    }