【发布时间】:2023-03-12 05:09:01
【问题描述】:
我有一个列表视图。它包含我从网上提取的 JSON。我希望 ListView 中的每个项目都转到 same 活动和 same TextView。从表面上看,这很容易。
但是,我希望 TextView 根据用户点击的内容显示不同的项目。事实上,最好将其设为两个 TextView,因为其中一个具有链接。有两行文字,一是链接。
因此,如果用户按下第一个列表项,他们会转到此活动并显示 information_01。如果同一个用户退出然后转到第二个列表项,它应该转到同一个活动并显示 information_02,依此类推。
我会告诉你我到目前为止所拥有的,没什么特别的:
title.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
switch (position) {
case 0:
Driver p = (Driver) title.getItemAtPosition(position);
Intent i = new Intent(MainActivity.this, DataActivity.class);
i.putExtra("one_id", p.id);
i.putExtra("one_link", p.link);
MainActivity.this.startActivity(i);
case 1:
Driver p1 = (Driver) title.getItemAtPosition(position);
Intent i1 = new Intent(MainActivity.this, DataActivity.class);
i1.putExtra("two_id", p1.id);
i1.putExtra("two_link", p1.link);
MainActivity.this.startActivity(i1);
case 2:
break;
}
希望这是可能的,因为为每个列表项创建一百万个活动是一件很痛苦的事情。就像我说的那样,其中一个是我需要发送到我的应用程序的另一个页面的链接。所以请记住,需要显示它并点击它。
非常感谢您对此事的帮助。提前致谢。
编辑:我的 DataActivity.class
public class DataActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.data_list);
//Case 0
Intent intent0 = getIntent();
String link0 = intent0.getStringExtra("one_link");
String id0 = intent0.getStringExtra("one_id");
TextView data0 = (TextView) findViewById(R.id.case0Text);
data0.setText("ID: " + id0 + "\n\n Click here: " + link0);
//Case 1
Intent intent1 = getIntent();
String id1 = intent1.getStringExtra("two_id");
String link1 = intent1.getStringExtra("two_link");
TextView data1 = (TextView) findViewById(R.id.case1Text);
data1.setText("ID: " + id1 + "\n\n Click here: " + link1);
}
}
【问题讨论】:
-
DataActivity的邮政编码
标签: android listview onclick textview switch-statement