可能重复:
Can I have a List view and images icon with textview on the Android
如何在每行中使用ImageView和TextView创建一个Android ListView?
我正在开发一个Android应用程序,它将有一个带有ListView的屏幕,并且每行需要一个ImageView和一个TextView ......有人可以帮我解决一些线索和样本吗? / p>
答案 0 :(得分:4)
您需要教授ListAdapter
如何做到这一点。如果这是getView()
,则可以通过对其进行子类化并覆盖ArrayAdapter
。您可以设计自己的自定义行并使用这些行,并在行加载时填入ImageView
和TextView
的数据。
one of my books经历了整个过程。 Here is the source code到该章中描述的示例项目。
答案 1 :(得分:0)
答案 2 :(得分:0)
如上所述,您需要扩展适配器并在ListActivity中使用它。使用TextView和ImageView创建XML文件(使用LinearLayout或任何其他布局)。您可以向TextView和ImageView添加ID,以便根据列表中的位置更改它们。
这是一个代码示例,它创建三行并将其中的文本设置为a,b,c。
public class MyActivity extends ListActivity {
private String[] data = {"a","b","c"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new MyAdapter(this, R.layout.rowxml, data));
}
private class MyAdapter extends ArrayAdapter<String> {
public MyAdapter(Context c, int i, String[] s) {
super(c, i, s);
}
@Override
public View getView(int position, View v, ViewGroup parent) {
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.rowxml, null);
}
TextView tw = (TextView) v.findViewById(R.id.text);
if (tw != null) tw.setText(data[position]);
// You can do something similar with the ImageView
return v;
}
}
}