如何从列表视图转到每个列表项的Detalied视图?

时间:2016-01-04 13:47:52

标签: java android listview button master-detail

我正在开发Android应用,我有一个ListView 每个项目都是一张卡片,其中包含一些文字,一个图像和一个按钮。

我想要做的是当你点击一个特定的按钮时,例如全局变暖项目中的按钮,我想显示一个包含更多详细信息的活动(另一个活动或其他内容)。
但对于每个Button,我想在同一个Activity上显示不同的数据。

另一个问题:当我点击按钮时,我可以打开一个显示不同数据的活动吗? 因为我做了"打开活动部分",但我不知道如何向Activity发送内容以告诉它刚刚点击了哪个Button。

P.S。:为了显示ListView中的每个项目,我使用CustomAdapter。

这是我的ListView

[1]: http://i.stack.imgur.com/vjcIv.jpg

2 个答案:

答案 0 :(得分:2)

你能做的是

  1. 单击按钮时,存储在单击了哪个按钮的变量中

  2. 通过意图(putextra)将该按钮发送到下一个活动。

  3. 在第二个活动中,首先获取单击按钮的信息,然后相应地显示数据

  4. 从编码点

    让我们在onCreate()方法中执行以下三个按钮b1,b2,b3

    b1.setOnclickListener(this);
    b2.setOnclickListener(this);
    b3.setOnclickListener(this);
    

    然后在' onClick()'

     public void onClick(View v) {
    
        int selected; 
        switch(v.getId())
        {
           case R.id.id_of_b1: 
             selected=1;
             break;
           case R.id.id_of_b2: 
             selected=2;
             break;
           case R.id.id_of_b3: 
             selected=3;
             break;
         }
    
      Intent intent = new Intent(Thisactivity.this, Secondactivity.class);
      intent.putExtra("int_value",selected);
      startActivity(intent);
    }
    

    然后在第二个活动中使用

    获取整数变量的值
    Intent intent = getIntent();
    int temp = intent.getIntExtra("int_value", 0); //0 is default value (no button was clicked from listview,, other button was clicked if there any)
    

    现在使用if

    显示您的内容
    switch(temp){
        case 1:
            //Do Something
            break;
        case 2:
            // Do Something
            break;
        case 3:
            // Do Something
            break;
    }
    

答案 1 :(得分:1)

要做到这一点,您可以使用listview.setOnItemClickListener,在单击项目时,您可以从列表或arraylist获取关联数据,无论您使用什么,并开始活动详细信息,并将这些详细信息作为额外内容传递给此活动并将其添加到新活动中详细的活动和填充UI。 希望它有所帮助。