自定义ListView Android
我的自定义列表视图有问题自定义ListView Android,android,listview,arraylist,Android,Listview,Arraylist,我的自定义列表视图有问题 SimpleAdapter adapter = new SimpleAdapter(this, this.dh.selectAll(), R.layout.custom_row_view, new String[] {"Icon","Chance","TeamID"}, new int[] {R.id.text1,R.id.text2, R.id.text3}); setListAdapter(adapter); 这是我的简单适配器。我想把图标放进
SimpleAdapter adapter = new SimpleAdapter(this,
this.dh.selectAll(),
R.layout.custom_row_view,
new String[] {"Icon","Chance","TeamID"},
new int[] {R.id.text1,R.id.text2, R.id.text3});
setListAdapter(adapter);
这是我的简单适配器。我想把图标放进去,可以吗?是的,你可以
MyList.java:
package com.TestActivity;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.SimpleAdapter;
public class MyList extends ListActivity {
final static ArrayList<HashMap<String, ?>> data = new ArrayList<HashMap<String, ?>>();
static{
HashMap<String, Object> row = new HashMap<String, Object>();
row.put("Icon", R.drawable.flags_albania);
row.put("Chance", "65%");
row.put("TeamID", "Albania");
data.add(row);
row = new HashMap<String, Object>();
row.put("Icon", R.drawable.flags_rpa);
row.put("Chance", "55%");
row.put("TeamID", "RPA");
data.add(row);
row = new HashMap<String, Object>();
row.put("Icon", R.drawable.flags_polska);
row.put("Chance", "100%");
row.put("TeamID", "Polska :)");
data.add(row);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SimpleAdapter adapter = new SimpleAdapter(this,
data,
R.layout.row,
new String[] {"Icon","Chance","TeamID"},
new int[] { R.id.imageView1, R.id.textView1,R.id.textView2});
setListAdapter(adapter);
}
}
package com.TestActivity;
导入java.util.ArrayList;
导入java.util.HashMap;
导入android.app.ListActivity;
导入android.os.Bundle;
导入android.widget.simpledapter;
公共类MyList扩展了ListActivity{
最终静态ArrayList数据=新ArrayList();
静止的{
HashMap行=新建HashMap();
行。放置(“图标”,R.drawable.flags_阿尔巴尼亚);
第三行卖出期权(“机会”,“65%”);
世界其他地区(“TeamID”、“阿尔巴尼亚”);
添加数据(行);
行=新HashMap();
行放置(“图标”,R.drawable.flags_rpa);
第三行卖出期权(“机会”,“55%”);
世界其他地区(“团队ID”、“RPA”);
添加数据(行);
行=新HashMap();
行。放置(“图标”,R.drawable.flags_polska);
第行卖出期权(“机会”,“100%”);
行。put(“团队ID”、“波尔斯卡:)”;
添加数据(行);
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
SimpleAdapter适配器=新SimpleAdapter(此,
数据,
R.layout.row,
新字符串[]{“Icon”、“Chance”、“TeamID”},
新的int[]{R.id.imageView1,R.id.textView1,R.id.textView2});
setListAdapter(适配器);
}
}
res/layout/row.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/icon" android:id="@+id/imageView1"/>
<TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<TextView android:text="TextView" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
</LinearLayout>
将带标志的PNG置于res/drawable hdpi/
flags_阿尔巴尼亚.png
flags_rpa.png
flags_polska.png
你会得到这样的结果:
在SO或Google中发布问题之前,您似乎还没有搜索出来。是的,您可以,但您应该更具体一些。。。您如何提供图标?通过Uri?资源id?@Kartik我们实际上不知道他是否想使用惰性图像loading@Selvin,thx的答案,我有一个文件夹(drawable/flags/albana.png)有许多图标,我想把图标放进我的simpleadapter@Kartik-问题不是重复的,即使他可以使用相同的答案。