У меня есть ListView
. Проблема в моем ListView
заключается в том, что когда я удаляю элемент из своего ListView
и снова добавляю новый элемент в ListView
, не выходя из приложения, он показывает удаленный элемент в моем ListView
вместо того, чтобы показывать вновь добавленный элемент. Как только я выйду из приложения и откройте приложение показывает вновь добавленный элемент и не показывает удаленный элемент. Это связано с проблемой обновления, хотя я использовал notifyDataSetChanged().Удалить элемент снова появляется в виде списка
Почему это происходит, помогите мне решить эту проблему.
// This is on create of Avtivity Class
ArrayList<String> fileStrings = new ArrayList<String>(m_ItemCount);
for (int i = 0; i < m_ItemCount; i++)
{
fileStrings.add(NoteManager.getSingletonObject().getImageName(i));
if(NoteManager.getSingletonObject().getStatusArray(i) == 1)
{
m_CompletedItemCount++;
}
}
// Call ListViewAdapter class that extend BaseAdapter class inside the method setListAdapter
// Display all the items in the list view
m_Adapter = new ListViewAdapter(this, fileStrings);
setListAdapter(m_Adapter);
listView = getListView();
// Adapter Class
public class ListViewAdapter extends BaseAdapter
{
private Activity activity;
private ArrayList<String> listItem;
private LayoutInflater inflater=null;
public ListViewAdapter(Activity a, ArrayList<String> d)
{
activity = a;
listItem = d;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount()
{
return listItem.size();
}
public Object getItem(int position)
{
return position;
}
public long getItemId(int position)
{
return position;
}
public class ViewHolder
{
Button butDelete, butAdd;
}
public View getView(final int position, View convertView, ViewGroup parent)
{
ViewHolder holder;
if(convertView == null)
{
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.list_item, null);
holder.butDelete = (Button)convertView.findViewById(R.id.but_delete);
holder.butAdd = (Button)convertView.findViewById(R.id.but_delete);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder)convertView.getTag();
}
// Delete item on click of delete item
holder.butDelete.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
deleteItem(position);
}
});
holder.butAdd.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
addItem(name);
}
});
return convertView;
}
// Add item in listView
public void addItem(String stringName)
{
listItem.add(0, stringName);
notifyDataSetChanged();
}
// delete item in listView
public void deleteItem(int position)
{
listItem.remove(position);
notifyDataSetChanged();
}
}
Нет его не working..instead он добавил два элемента каждый раз, когда я wnat, чтобы добавить новый элемент – AndroidDev