Android – Как создать интерактивный список?

Я хочу, чтобы все элементы списка в списке отображались на новой странице, поэтому каждый элемент списка открывается на новую черную страницу, которую я могу использовать. Я не знаю, как это реализовать. Я искал часы и не могу найти ответ на мое решение. Было бы очень признательно, если бы кто-то мог показать и / или объяснить, как это сделать, а не предоставлять ссылку, но также полезно.

Вот мой код:

 Pro Constructive Con Constructive 1st Speaker Cross Pro Rebbutal Con Rebuttal 2nd Speaker Cross Pro Summary Con Summary Grand Cross Pro Final Focus Con Final Focus  

Это в моем файле string.xml

    

Это в моей activity_main.xml.

Куда я иду отсюда, чтобы сделать каждый элемент в моем списке доступным и доступным для открытия на новую страницу?

Заранее спасибо!

РЕДАКТИРОВАТЬ:

Logcat больше не подходит.

На самом деле это довольно просто:

Это ваша деятельность с помощью ListView, она реализует OnItemClickListener:

 public class MainActivity extends Activity implements OnItemClickListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); //* *EDIT* * ListView listview = (ListView) findViewById(R.id.listView1); listview.setOnItemClickListener(this); } public void onItemClick(AdapterView l, View v, int position, long id) { Log.i("HelloListView", "You clicked Item: " + id + " at position:" + position); // Then you start a new Activity via Intent Intent intent = new Intent(); intent.setClass(this, ListItemDetail.class); intent.putExtra("position", position); // Or / And intent.putExtra("id", id); startActivity(intent); } 

редактировать

Вышеприведенный код будет помещен в ваш MainActivity.java. Я изменил имя classа на MainActivity и ContentView на setContentView(R.layout.activity_main) . Названия – это имена недавно созданного проекта Android в Eclipse.
См. Также две новые строки в разделе // * Редактировать * – они установят Listener для кликов по элементам в списке.

Ваш activity_main.xml должен выглядеть так:

     

Файл array.xml (не string.xml) в вашей папке `res / values ​​/` выглядит так:

   Pro Constructive Con Constructive 1st Speaker Cross Pro Rebbutal Con Rebuttal 2nd Speaker Cross Pro Summary Con Summary Grand Cross Pro Final Focus Con Final Focus   

NB: Если вы скопируете и вставьте этот код, он должен работать. Но вы получите сообщение об ошибке, нажав на элемент, потому что вы еще не создали список ListItemDetail.class .

Вот пример того, как это могло выглядеть:

Ваш ListItemDetail.java:

 public class ListItemDetail extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_listitem); Intent intent = getIntent(); int position = intent.getIntExtra("position", 0); // Here we turn your string.xml in an array String[] myKeys = getResources().getStringArray(R.array.sections); TextView myTextView = (TextView) findViewById(R.id.my_textview); myTextView.setText(myKeys[position]); } } 

И его activity_listitem.xml

    

Если вы скопируете этот код, он будет работать.

Вы используете функцию onListItemClick для настройки своего намерения, которое загружает следующее действие и передает любые данные.

 public void onListItemClick(ListView parent, View view, int position, long id) { Intent intent = new Intent(this, AnotherActivity.class); intent.putExtra("position", position); startActivity(intent); } 

вы можете заполнить listview из массива в string.xml, как это

 String[] myKeys = getResources().getStringArray(R.array.sections); ListView mListView = (ListView)findViewById(R.id.listView1); mListView.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, myKeys)); 

и щелчок на элементах listview довольно прост и удобен. Просто используйте setOnItemClickListener

 mListView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView arg0,View arg1, int position, long arg3) { Intent n = new Intent(getApplicationContext(), yourclass.class); n.putExtra("position", position); startActivity(n); } }); 

listView = (ListView) findViewById (R.id.listview);

  • Элемент списка

     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { if(position==0){ Intent i=new Intent(MainActivity.this,Main3Activity.class); startActivity(i); } } }); 
Interesting Posts
Давайте будем гением компьютера.