我有一个列表视图,左侧是图像图标,右侧是三行文本视图.我已经创建了布局,但在创建适配器类时,我遇到了一些问题.这是代码:
import android.app.Activity;
import android.widget.ArrayAdapter;
public class CustomList extends ArrayAdapter<String>{
private final Activity context;
private final String[][] listRow;
private final Integer[] imageId;
public CustomList(Activity context, String[][] listRow, Integer[] imageId){
super(context, R.layout.rowlayout, listRow);
}
}
Run Code Online (Sandbox Code Playgroud)
首先,我为三个textview创建了三个1D数组,但在构造函数中我无法全部传递它们.
所以我必须创建一个2D数组,其中表中的每一行都代表有关单个列表视图项的信息.
但我无法这样做.我收到一个错误:
无法
super(android.app.Activity, int, java.lang.String[][])使用2D数组解析方法
我该如何解决这个问题?
Jav*_*ast 23
经过很长一段时间的努力,我找到了解决方案.我创建了一个单独的类来存储每个单独行的数据值,并创建了相同的对象数组.
以下是示例代码:
import android.app.Activity;
import android.widget.ArrayAdapter;
class ListItem
{
public String textview1;
public String textview2;
public String textview3;
public int imageId;
public ListItem(String t1, String t2, String t3, int imageId)
{
this.textview1 = t1;
this.textview2 = t2;
this.textview3 = t3;
this.imageId = imageId;
}
}
public class CustomList extends ArrayAdapter<Object>
{
private Activity context;
private ListItem listItem[];
public CustomList(Activity context, ListItem li[])
{
super(context, R.layout.rowlayout, li);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5760 次 |
| 最近记录: |