ListActivity입니까? 나는 현재 프로젝트에서 ListActivity를 가지고 있으며, ArrayAdapter를 확장 한 내 자신의 어댑터 클래스가 있습니다.
내 경험에 따르면 내 확장 목록 어댑터 클래스 인스턴스에서 notifyDataSetChanged()를 호출하면 즉시 목록보기가 새로 고쳐집니다. 따라서 어댑터 인스턴스에서 .notifyDataSetChanged()를 호출하면 목록보기가 다시 생성되어 어댑터의 getView() 구현을 호출하여 각 개별 행 뷰를 다시 생성합니다. 따라서 사용자는 데이터를 변경 한 다음 .notifyDataSetChanged()를 호출하는 컨텍스트 메뉴 항목을 선택하면 화면이 즉시 새 데이터로 새로 고쳐집니다.
그래서 분명히 몇 가지 코드 조각을 추가합니다 :
을 내가 ArrayAdapter와
class VarAdapter extends ArrayAdapter{
...
@Override
public View getView(int position, View convertView, ViewGroup parent){
// Creates the views based upon myData
...
@Override
public int getCount(){
...
확장하는 ListActivity 그것은 내
public class VarListActivity extends ListActivity {
이 그리고 내가 그 배열의 인스턴스를 생성 어댑터
la = new VarAdapter(this, R.layout.row0);
그리고 상황에 맞는 메뉴 항목이
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.a_context_menu_option:
// Does a call to perform modifications to myData
la.notifyDataSetChanged();
return true;
을 선택했을 때 난 그냥 모두 아래로 귀하의 상황에 대한 유사성 그냥 경우에이 척 해요,하지만 정말 우리가 코드에 대해 조금 더 알 필요가있다.
코드, 제발 ... – Wroclai
어댑터 자체 또는 어댑터를 만드는 데 사용한 일부 어레이를 변경하고 있습니까? – Aleadam