我正在尝试将一个字符串数组和一个图像添加到列表视图中。我设法在列表视图中推断每一行,但现在我无法在列表视图中看到每行中的文本。我还想在列表视图中的每一行添加一个图像。我想我需要使用不同的适配器..
代码:
todoItems.add(redString);
todoItems.add(blueString);
todoItems.add(yellowString);
final ArrayAdapter<String> aa = new ArrayAdapter<String>(this, R.layout.listviewitem,todoItems);
mylistListView.setAdapter(aa);
listviewitem XML:
<com.todo.ListViewItem
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:scrollbars="vertical"
android:textColor="@color/notepad_text"
android:fadingEdge="vertical"
>
答案 0 :(得分:0)
答案 1 :(得分:0)
我建议你在列表中使用布局inflaters。这是一个例子。
1)main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" android:weightSum="1">
<ListView android:layout_width="match_parent"
android:id="@android:id/list" android:layout_alignParentTop="true"
android:layout_height="330dp"
android:layout_weight="0.48"></ListView>
</LinearLayout>
2)创建一个名为“list.xml”的布局,其中包含您希望在列表中包含的文本和图像。
private LayoutInflater mInflater;
try{
mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
getList();
}catch(Exception e){
}
private void getList(final ArrayList<Object> asdf) {
setListAdapter(new ArrayAdapter<Object>(MainActivity.this,
R.layout.list, asdf) {
@Override
public View getView(final int position, View convertView,
ViewGroup parent) {
View row;
if (null == convertView) {
row = mInflater.inflate(R.layout.list, null);
} else {
row = convertView;
}
TextView text1 = (TextView) row.findViewById(R.id.text1);
ImageView im = (ImageView) row.findViewById(R.id.image1);
row.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
}
});
return row;
}
});
}