2017-01-27 4 views
0

Мне нужно добавить изображение программно, но я попытался просто скопировать и вставить тот же код, но с другим файлом изображения. Это не сработало, вместо этого оно просто выбрало последнее изображение, которое я добавил. Это мой код для добавления одного изображения:Добавить другое изображение программно и выбрать позицию

String flag = getIntent().getStringExtra("IMAGE"); 
    int id = getResources().getIdentifier(flag, "drawable", getPackageName()); 

    LinearLayout linearLayout= new LinearLayout(this); 
    linearLayout.setOrientation(LinearLayout.VERTICAL); 
    linearLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 
      LinearLayout.LayoutParams.MATCH_PARENT)); 
    ImageView imageView = new ImageView(this); 
    imageView.setImageResource(id); 
    imageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 
      LinearLayout.LayoutParams.WRAP_CONTENT)); 
    linearLayout.addView(imageView); 
    setContentView(linearLayout); 

Это мой «скопировать и вставить»:

String pic = getIntent().getStringExtra("IMAGECITY"); 
    int id1 = getResources().getIdentifier(pic, "drawable", getPackageName()); 

    LinearLayout linearLayout1= new LinearLayout(this); 
    linearLayout1.setOrientation(LinearLayout.VERTICAL); 
    linearLayout1.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 
      LinearLayout.LayoutParams.MATCH_PARENT)); 
    ImageView imageView1 = new ImageView(this); 
    imageView1.setImageResource(id1); 
    imageView1.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 
      LinearLayout.LayoutParams.WRAP_CONTENT)); 
    linearLayout1.addView(imageView1); 
    setContentView(linearLayout1); 

Может кто-нибудь помочь мне решить, добавив еще одно изображение собственной позиции его на дно?

+3

Очевидно, вам следует избавиться от 'linearLayout1' и добавить изображение в' linearLayout' и не использовать второй 'setContentView' ... очевидно, что не имеет смысла хранить данные в пользовательском интерфейсе, поэтому было бы лучше использовать ListView/RecyclerView – Selvin

+0

Вы правы, я не слишком хорош в этом, просто начал с андроида и изображений программным путем, не так много разбирался в linearlayout. Но он работает сейчас, большое спасибо – tryAnroid

ответ

0

К помощи Selvin, я удален:

LinearLayout linearLayout1= new LinearLayout(this); 
linearLayout1.setOrientation(LinearLayout.VERTICAL); 
linearLayout1.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 
     LinearLayout.LayoutParams.MATCH_PARENT)); 

И изменил переменные linearLayout1 к только LinearLayout.

Смежные вопросы