ListViewには 2 つのアクティビティがあります。この 2 つのアクティビティには、個別のレイアウト ファイルがあります。最初に myListView01 があり、2 番目に myListView02 があります。listView のアダプタを更新するには? 私はそうします:
ListView list = (ListView)findViewById(R.id.myListView01);
myAdapter = new ArrayAdapter<String>(this, R.layout.item01, R.id.label, array01);
list.setAdapter(myAdapter);
array01 からいくつかの項目を削除し、この要素なしで listView を更新する必要があります。しかし、ListActivityに対するこのソリューションは機能しません。
myAdapter.notifyDataSetChanged();
私のコード:
package ...;
import ...;
public class Class01 extends Activity
{
ArrayAdapter<String> mAdapter;
ArrayList<String> array01 = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.layout01);
ListView list = (ListView)findViewById(R.id.my_list01);
mAdapter = new ArrayAdapter<String>(this, R.layout.item01, R.id.label, array01);
list.setAdapter(mAdapter);
}
public void onListItemClick (ListView parent, View v, int position, long id)
{
array01 = deleteElementByPosition(array01, position);
mAdapter.notifyDataSetChanged(); //does not work
}
public void deleteElementByPosition()
{
...
}
}