listview onclick открыть в зависимости от элемента - PullRequest
0 голосов
/ 04 ноября 2011

Я довольно новичок в разработке для Android, но у меня возникли некоторые проблемы, когда я пытаюсь сделать так, чтобы мои элементы списка открывали одно действие, но в зависимости от элемента их можно было нарисовать по-другому. Есть ли в любом случае view.getContext () с определенной привязкой рисования к этому. вот мой класс listview:

lv.setOnItemClickListener (new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
          // When clicked, bring up MockClass.class
      if(position == 1)
      {
          Intent myIntent = new Intent(view.getContext(), MockClass.class);
          startActivityForResult(myIntent, 0);
      }
      if(position == 2)
      {
          Intent myIntent = new Intent(view.getContext(), MockClass.class);
          startActivityForResult(myIntent, 0);
      }
      if(position == 3)
      {
          Intent myIntent = new Intent(view.getContext(), MockClass.class);
          startActivityForResult(myIntent, 0);
      }
      if(position == 4)
      {
          Intent myIntent = new Intent(view.getContext(), MockClass.class);
          startActivityForResult(myIntent, 0);
      }
      if(position == 5)
      {
          Intent myIntent = new Intent(view.getContext(), MockClass.class);
          startActivityForResult(myIntent, 0);
      }
      if(position == 6)
      {
          Intent myIntent = new Intent(view.getContext(), MockClass.class);
          startActivityForResult(myIntent, 0);
      }
      if(position == 7)
      {
          Intent myIntent = new Intent(view.getContext(), MockClass.class);
          startActivityForResult(myIntent, 0);
      }
      if(position == 8)
      {
          Intent myIntent = new Intent(view.getContext(), MockClass.class);
          startActivityForResult(myIntent, 0);
      }
      if(position == 9)
      {
          Intent myIntent = new Intent(view.getContext(), MockClass.class);
          startActivityForResult(myIntent, 0);
      }
      if(position == 10)
      { 
          Intent myIntent = new Intent(view.getContext(), MockClass.class);
          startActivityForResult(myIntent, 0);
      }

1 Ответ

0 голосов
/ 04 ноября 2011

Вы должны использовать дополнительные функции Intent, такие как putExtra для объекта намерения. Теперь вы можете передать Bitmap как дополнительный, но я бы посоветовал против этого. Вы должны получить путь к изображению, которое вы ищете, чтобы перейти к следующему действию и передать его в качестве дополнительного. Внутри вашей другой деятельности вы должны извлечь это с помощью getIntent (). GetStringExtra ("key") и загрузить Drawable, используя этот путь.

...