myIntent.putExtra во время просмотра списка onClick - PullRequest
1 голос
/ 14 января 2012

Я пытаюсь прикрепить изображение с помощью Intent.putExtra, но я не совсем уверен, как отобразить изображение, когда я отправляю его на следующую операцию.

вот мой onClick:

lv.setOnItemClickListener (new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
          // When clicked, bring up Mockactivity.class
      if(position == 1)
      {
          Intent myIntent = new Intent(view.getContext(), mockactivity.class);
          myIntent.putExtra("myDrawable", R.drawable.mydrawable);
          startActivityForResult(myIntent, 0);
      }

Он будет щелкать и вызывать пустое действие, которое я назвал "mockactivity.class", если я уберу строку "myIntent.putExtra", но когда это там, это ничего не делает.Кто-нибудь знает, как отобразить его в следующем упражнении, на которое я нажимаю?

1 Ответ

1 голос
/ 14 января 2012

Все в классе R является целым числом, представляющим реальный ресурс.

В другом Activity вам нужно использовать что-то вроде ...

int myDrawableId = getIntent().getIntExtra("myDrawable", -1);

В этомcase -1 - это значение по умолчанию, которое будет возвращено, если Intent не содержит дополнительный int с этим именем, поэтому проверьте myDrawableId, чтобы узнать, является ли оно -1, прежде чем пытаться его использовать.

После этого вы сможете использовать myDrawableId так же, как и R.drawable.mydrawable.

РЕДАКТИРОВАТЬ: Используя этот код ...

ImageView view = (ImageView) findViewById(...);

... вы пытаетесь найти ImageView, а не чертеж, который используется в качестве источника изображения.Вы должны использовать ...

ImageView view = (ImageView) findViewById(R.id.myImageView);

... где myImageView - это id из ImageView в вашем mockactivity.xml файле макета.Если вы делаете это правильно, то просто сделайте следующее, чтобы установить изображение ...

view.setImageResource(myDrawableId);
...