私はリストビューを持っています。Web から取得した JSON が含まれています。ListView の各項目が同じアクティビティと同じTextView に移動するようにします。それは一見簡単です。
ただし、ユーザーがクリックした内容に応じて、TextView にさまざまな項目を表示する必要があります。実際には、そのうちの 1 つにリンクがあるため、2 つの TextView にすることをお勧めします。テキストは 2 行あり、1 行はリンクです。
したがって、ユーザーが最初のリスト項目を押すと、このアクティビティに移動し、information_01 が表示されます。同じユーザーがバックアウトしてから 2 番目のリスト項目に移動すると、まったく同じアクティビティに移動し、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;
}
リスト アイテムごとに 100 万のアクティビティを作成するのは骨の折れる作業なので、これが可能になることを願っています。私が言ったように、そのうちの1つは、アプリの別のページに送信する必要があるリンクです。したがって、それを表示してクリックする必要があることに注意してください。
この問題に関するいくつかの助けをいただければ幸いです。前もって感謝します。
編集: 私の 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);
}
}