2017-07-11 65 views
1

我試圖通過使用充氣器將圖像設置爲另一種佈局。不知何故,我搞砸了,但不知道在哪裏。目標佈局是info_window。將內容設置爲另一種佈局(充氣器)

View v= getLayoutInflater().inflate(R.layout.info_window, null); 
      ImageView img=(ImageView)v.findViewById(R.id.imageVVV); 
      img.setImageResource(R.drawable.list); 
      LinearLayout rl = (LinearLayout) v.findViewById(R.id.linearkata); 
      rl.addView(v); 
+2

您檢索''從v' rl',然後加'v'到'rl':成立。 – azizbekian

+0

Soo LinearLayout rl =(LinearLayout)findViewById(R.id.linearkata); ?這會在v(View)中拋出一個空對象引用 – Andri

+0

rl(LinearLayout),並且你將v添加到rl –

回答

0

每個佈局應該有寬度高度與佈局參數一起指定。並在LinearLayout方向也需要設置..而是視圖是一個根..並在視圖佈局插入,這是你的線性佈局..所以你是在佈局插入佈局導致崩潰。

LinearLayout llMain = (LinearLayout) findViewById(R.id.llMain); 
ImageView ivMyImage= new ImageView(this); 
ivMyImage.setBackgroundResource(R.drawable.your_image_name); 
llMain.addView(ivMyImage); 

嘗試了這一點.. :)和去這個文件將幫助你更好地理解這種。

ViewGroup

View

Layout

+0

我得到一個新的錯誤與您的代碼 - java.lang.IllegalStateException:指定的孩子已經有一個父。您必須先調用子對象的父對象的removeView()。 – Andri

+0

您的info_window佈局中是否有其他佈局? – nTri

+0

是的,一個嵌套在另一個,父母的ID是linearkata。 By(YourActivity.this);你是指當前的活動? – Andri