在我的項目中,我需要創建Listview。我創建了text.xml和imageview的row.xml以顯示在列表項中。我在strings.xml文件中提到了這些列表項名稱。但是我怎麼能提到strings.xml文件中的圖像。我怎麼能這樣做。 請幫我解決這個問題。如何在Android中爲每個listitem放置不同的圖像?
回答
拍攝圖像與resourceIds數組,並設置ImageView的背景,你都將在textviews價值得到imageIds的陣列圖像。您不需要將圖像或任何東西放入strings.xml。試試這個link
在你的適配器中,你可以明確地設置圖像到每個item的ImageView。你可以使用if-else if-else來設置,取決於位置,如果你有幾個項目要顯示每一次。您可以設置一個數組併爲大量項目設置相應的圖像。
通過簡單地得到使用下面的代碼..
Resources res = getResources();
TypedArray icons = res.obtainTypedArray(R.array.icons);
Drawable drawable = icons.getDrawable(0);//0 is index of your icons array
<array name="icons">
<item>@drawable/icon1</item>
<item>@drawable/icon2</item>
<item>@drawable/icon3</item>
</array>
您也可以使用link。在這裏可以看到類型化數組的例子。
請確保圖像lenth和string_array長度應該是平等的,因爲我沒有把故障情況。
public class TestActivity extends Activity implements OnItemClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView list=(ListView) findViewById(R.id.listView1);
Resources res = getResources();
TypedArray icons = res.obtainTypedArray(R.array.icons);
String[] str=res.getStringArray(R.array.string_array);
list.setAdapter(new Adapter(this,icons,str));
list.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3)
{
Toast.makeText(TestActivity.this,"You are clicked at:"+pos, Toast.LENGTH_SHORT).show();
}
class Adapter extends BaseAdapter
{
private Context context;
private LayoutInflater inflater;
TypedArray icons;
String[] str;
public Adapter(Context mContext, TypedArray icons,String[] str)
{
this.context= mContext;
this.inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.icons=icons;
this.str=str;
}
@Override
public int getCount()
{
return icons.length();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView(int pos, View convertView, ViewGroup arg2) {
final MainListHolder mHolder;
View v = convertView;
if (convertView == null)
{
mHolder = new MainListHolder();
v = inflater.inflate(R.layout.inflate_layout, null);
mHolder.mTextview=(TextView) v.findViewById(R.id.textView1);
mHolder.imageView=(ImageView) v.findViewById(R.id.imageView1);
v.setTag(mHolder);
}
else
{
mHolder = (MainListHolder) v.getTag();
}
mHolder.mTextview.setText(str[pos]);
Drawable drawable = icons.getDrawable(pos);//0 is index of your icons array
mHolder.imageView.setImageDrawable(drawable);//Your Drawables array
return v;
}
class MainListHolder
{
private ImageView imageView;
private TextView mTextview;
}
}
}
Resources res = getResources(); TypedArray圖標= res.obtainTypedArray(R.array.app1); Drawable drawable = icons.getDrawable(0);我給這樣在我的java文件,但它沒有檢測到陣列...笏做plz幫助我 – Madhuri
我檢查一下這樣......這對我的作品通過設置簡單的圖像.. ImageView的IM =(ImageView的) findViewById(R.id.imageView1); im.setImageDrawable(drawable); –
嗨對不起,我創造了價值的文件夾images.xml和我已經定義了array..But現在我在arrays.xml定義和它沒有顯示出任何錯誤 – Madhuri
- 1. 如何在tableview中爲每個單元格放置圖像?
- 2. 如何爲每個引腳設置不同的圖像? Xamarin iOS
- 3. 如何在AlertDialog中放置圖像? Android
- 4. 在Android中如何將圖像設置爲不同活動的圖像視圖?
- 5. 如何設置setTag()方法爲每個的listItem ListView中
- 6. 如何在桌子視圖的每個部分放置圖像?
- 7. 在android中的另一個圖像視圖中放置圖像
- 8. 如何讓每個ListItem去一個不同的活動
- 9. 如何在div中間放置不同尺寸的圖像
- 10. 如何設置不同圖像的每個單元格的圖像視圖iOS.Xamarin
- 11. 如何把每個頁面的不同背景圖像放在rails中?
- 12. 爲每個選定的listitem
- 13. 設置在Android中使用ListAdapter創建ListItem的背景圖像
- 14. 如何在Android的LISTVIEW中爲每個原始圖像添加不同的圖像?
- 15. 如何在ListItem旁邊放置按鈕
- 16. monodroid如何在圖像上放置圖像並放置圖像
- 17. 如何通過onclick將圖像放置在android中的另一個圖像上?
- 18. 如何在Android中的edittext中爲每個字符設置不同的顏色?
- 19. 如何在Android中使用位置設置這兩個不同的圖像?
- 20. 設置不同的時間間隔爲每個圖像
- 21. 如何爲每個頁面添加不同的頁眉圖像?
- 22. 如何在reportlab中放置和放置多個圖像Python
- 23. 如何設置圖像幀同時爲多個圖像在wxPython
- 24. 如何在Tomcat中爲每個webapp設置不同的代理?
- 25. 如何在圖像上放置圖像?
- 26. 我如何讓每個listitem中的圖像都有自己的處理程序?
- 27. 如何爲每個標記設置不同的圖標?
- 28. 如何在Android中的ListView中放置圖像和文本
- 29. 在畫廊如何給每個圖像在Android的不同背景
- 30. Android中的每個listview項目的不同圖像
添加整數陣列與圖像資源ID .. –
請你可以舉個例子嗎? – Madhuri