我有Arraylist
作为[x,y,z ..]。我想在ArrayList
中使用此ListView
[x,y,z ..],但未调用getview()
方法
我正在尝试这段代码:
public class CustomAdapter extends BaseAdapter
{
public static ArrayList<String> arr=new ArrayList<String>();
public Context Context;
private LayoutInflater inflater;
HashMap<String, String> map = new HashMap<String, String>();
public CustomAdapter(Context context, ArrayList<String> arr)
{
Context=context;
inflater=LayoutInflater.from(context);
arr=arr;
}
public int getCount()
{
// TODO Auto-generated method stub
return arr.size();
}
public Object getItem(int position)
{
// TODO Auto-generated method stub
return arr.get(position);
}
public long getItemId(int position)
{
// TODO Auto-generated method stub
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
System.out.println(arr.get(posstion));
ViewHolder holder;
if (convertView == null)
{
convertView = inflater.inflate(R.layout.selecteditemlistview, null);
holder = new ViewHolder();
holder.textViewSelectedText = (TextView)convertView.findViewById(R.id.selectedtext);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.textViewSelectedText.setText(arr.get(position));
return convertView;
}
class ViewHolder
{
TextView textViewSelectedText = null;
}
}
System.out.println(arr.get(posstion));
此行在getview()
方法内,并且不打印值..请帮帮我。
答案 0 :(得分:2)
您应该使用ListView上的setAdapter函数让它使用您的自定义适配器
编辑:CustomAdapter构造函数中有一个拼写错误:代码应该是
this.arr = arr
而不是
arr = arr
答案 1 :(得分:0)
你错误拼写了这个位置 改变
System.out.println(arr.get(posstion));
通过
System.out.println(arr.get(position));
答案 2 :(得分:0)
在你的getview方法中你的sop是System.out.println(arr.get(posstion));.我认为它应该是System.out.println(arr.get(position));
因为在你的getview方法中,int位置是定义的而不是必需的。检查代码中的拼写
public View getView(int position, View convertView, ViewGroup parent){
System.out.println(arr.get(position));
}
即使这不起作用,也尝试使用
public CustomAdapter(Context context, ArrayList<String> arr)
{
Context=context;
inflater=LayoutInflater.from(context);
arr=arr;
System.out.println("arr: " + arr.size);
}
如果size为0,那么你没有从活动classto这个适配器获得任何结果