ListView에 두 개의 액티비티가 있습니다. 이 두 가지 활동에는 개별 레이아웃 파일이 있습니다. 먼저 myListView01을 가지고 있고, 두 번째에는 myListView02가 있습니다. listView의 어댑터를 업데이트하는 방법? 나는 그렇게 : 나는 array01에서 일부 항목을 제거ListView 업데이트
ListView list = (ListView)findViewById(R.id.myListView01);
myAdapter = new ArrayAdapter<String>(this, R.layout.item01, R.id.label, array01);
list.setAdapter(myAdapter);
그리고이 요소없이 내 목록보기를 업데이트해야합니다. 그러나 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()
{
...
}
}
항상 로더를 사용하는 것이 좋습니다. – Mike
무엇? 그것은 ListView와 어떤 관련이 있습니까? – Leo
http://developer.android.com/guide/topics/ui/layout/listview.html – Mike