リストビューがバッククリックで最後のエントリを繰り返す理由??????そのクラスがリストビューで初めて起動されたとき、表示されているすべてのデータは正しいので、リストアイテムの1つをクリックして、説明からもう一度押してから、それを押します最後のエントリを繰り返します。
例えば
ListItems は次のとおりです: A -> B -> C
ここで B をクリックして次のページに移動し、そこから [戻る] をクリックすると、リストは次のようになります。
A -> B -> C -> C
もう一度 A を押して、その A の説明ページから [戻る] をクリックすると、リストは次のようになります。
A -> B -> C -> C -> C
なぜ最後のエントリを繰り返すのですか????
アクティビティ クラス コードは次のとおりです。
if(list.isEmpty())
{
if(adapter==null)
{
adapter=new MyAdapter(context, list);
ls.setAdapter(adapter);
}
adapter.notifyDataSetChanged();
}
@Override
protected void onStop() {
super.onStop();
AppointmentListView.setVisibility(View.GONE);
}
@Override
protected void onRestart() {
super.onRestart();
AppointmentListView.setVisibility(View.VISIBLE);
}
MyAdapter クラスは次のとおりです。
public class MyAdapter extends BaseAdapter{
public ArrayList<HashMap<String,String>> list;
Context context;
private LayoutInflater mInflater;
String appointType;
public MyAdapter(Context context, ArrayList<HashMap<String,String>> list)
{
super();
this.context=context;
this.list = list;
mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public int getViewTypeCount()
{
return 1;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
static class ViewHolder {
TextView AppTime_List;
TextView CustomerName_List;
TextView CustomerAddress_List;
TextView AppID_List;
Button MapButton;
}
// @Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if (convertView == null)
{
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.listviewsample, parent, false);
holder.AppTime_List = (TextView) convertView.findViewById(R.id.time);
holder.CustomerName_List = (TextView) convertView.findViewById(R.id.name);
holder.CustomerAddress_List = (TextView) convertView.findViewById(R.id.Address);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
appointType=(String)list.get(position).get("Name");
holder.AppID_List.setText((String)list.get(position).get("ID"));
holder.AppTime_List.setText((String)list.get(position).get("Time"));
holder.CustomerName_List.setText((String)list.get(position).get("Name"));
holder.CustomerAddress_List.setText((String)list.get(position).get("Address"));
return convertView;
}
}
誰でもそれについて私を助けることができますか??