Подтвердить что ты не робот

Listview, открыть новую активность onClick

Привет всем, на что я искал часы, пытаясь найти решение этого, моя цель - иметь Listview, когда он открывает хорошо открытое другое действие. Ну, на самом деле, я получил его, чтобы открыть другое действие, когда его клик, но как его получить, чтобы каждый элемент списка открыл свою собственную деятельность? Мне очень жаль, если на этот вопрос уже ответил, но ссылки, которые я нашел, на самом деле не описывают, что делает код [Да, я новичок:]]

это код im, использующий

@Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      String[] countries = getResources().getStringArray(R.array.countries_array);
      setListAdapter(new ArrayAdapter<String>(this, R.layout.newfile, countries));

      ListView lv = getListView();
      lv.setTextFilterEnabled(true);

      lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
          // When clicked, show a toast with the TextView text
             Intent myIntent = new Intent(view.getContext(), Html_file.class);
             startActivityForResult(myIntent, 0);

        }
      });
    }
}
4b9b3361

Ответ 1

lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
        // When clicked, show a toast with the TextView text
        if(position == 1) {
            //code specific to first list item    
            Intent myIntent = new Intent(view.getContext(), Html_file1.class);
            startActivityForResult(myIntent, 0);
        }

        if(position == 2) {
            //code specific to 2nd list item    
            Intent myIntent = new Intent(view.getContext(), Html_file2.class);
            startActivityForResult(myIntent, 0);
        }
    }
});

Ответ 2

public void onItemClick(AdapterView<?> parent, View view,
  int position, long id) {
   switch( position ) {
     case 0:  Intent newActivity = new Intent(this, i1.class);     
              startActivity(newActivity);
              break;
     case 1:  Intent newActivity = new Intent(this, i2.class);     
              startActivity(newActivity);
              break;
     case 2:  Intent newActivity = new Intent(this, i3.class);     
              startActivity(newActivity);
              break;
     case 3:  Intent newActivity = new Intent(this, i4.class);     
              startActivity(newActivity);
              break;
     case 4:  Intent newActivity = new Intent(this, i5.class);     
              startActivity(newActivity);
              break;
    }
}

Ответ 3

Если у вас есть ограниченное количество списков, вы можете использовать случай переключения здесь в позиции

lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
          // When clicked, show a toast with the TextView text
             Intent myIntent = new Intent(view.getContext(), Html_file.class);
             startActivityForResult(myIntent, 0);

        }
});

Ответ 4

Если вы знаете, какая активность должна быть открыта при щелчке по различным элементам списка, просто назначьте идентификатор или тег элементам списка.
В обратном вызове onItemClick у вас есть параметр View,
используйте его, чтобы получить идентификатор или тег, чтобы отличить их и вызвать соответствующую активность.