我有两个观点:
当我首先运行我的应用时,它会显示ListView
然后我选择了
来自ListView
的项目将进入下一个名为详细信息的视图
项目清单。现在当我回到ListView
的项目时
列表多次出现。我该如何解决这个问题?
由于
以下显示的方式我将数据添加到ArrayAdapter。
MyArrayAdapter adapter = new MyArrayAdapter(SampleActivity.this, R.layout.citieslist, scity);
lv.setAdapter(adapter);
lv.setTextFilterEnabled(true);
MyArrayAdapter如下......
private class MyArrayAdapter extends BaseAdapter {
String[] items;
public MyArrayAdapter(Context context, int
textViewResourceId, String[] items) {
this.items = items;
}
@Override
public int getCount() {
return items.length;
}
@Override
public Object getItem(int position) {
return
position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.citieslist, null);
}
TextView tv = (TextView) v.findViewById(R.id.tvCity);
tv.setText(items[position]);
return v;
}
}
答案 0 :(得分:0)
我会尝试三件事:
将适配器的getView()方法的inflate行更改为:
if (v == null) {
v = LayoutInflater.from(context).inflate(R.layout.citieslist, parent, false);
}
答案 1 :(得分:0)
有两种可能性,
之一:
当您从详细信息视图返回列表视图页面时,
如果您使用" startActivity(意图)",请替换为"完成()"。
2: 初始化listview" scity"在" onCreateView()"