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

How can I go from List View to Detalied view for each List item?

我正在开发一个 Android 应用程序,我有一个 ListView。
每个项目都是一张包含一些文本、图像和按钮的卡片。

我想做的是,当您单击某个特定按钮时,例如全球变暖项目中的按钮,我想显示一个 Activity 更多详细信息(另一个 Activity或其他东西)。
但是对于每个按钮,我想在相同的 Activity.

上显示不同的数据

另一个问题:当我点击按钮时,我可以打开一个显示不同数据的Activity吗?
因为我做了 "opening Activity part",但我不知道如何向 Activity 发送一些东西来告诉它刚刚单击了哪个 Button。

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

这是我的 ListView

你能做的是

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

  2. 按意图将该按钮发送到下一个 activity ( putextra )。

  3. 在第二个activity中首先获取点击哪个按钮的信息然后相应地显示数据

从编码点开始

让我们有三个按钮 b1、b2、b3 我们在 onCreate() 方法

中执行以下操作
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);
}

然后在第二个activity得到整型变量with

的值
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;
}

要做到这一点,您可以使用 listview.setOnItemClickListener 并在单击一个项目时,无论您使用什么,您都可以从列表或数组列表中获取关联数据,并开始 activity 详细信息并将这些详细信息作为附加信息传递给这个 activity 并将其放入新的详细 [​​=13=] 并填充 UI。 希望对你有帮助。