2013-04-11 4 views
0

간단한 MyListFragment 조각이 하나의 간단한 데이터 배열을 화면에 표시합니다.ListFragment 내용 변경

public class MyListFragment extends ListFragment { 
     private ArrayAdapter<String> adapter; 
     public ArrayAdapter<String> getAdapter() { 
      return adapter; 
     } 
     public void onActivityCreated(Bundle savedInstanceState) { 
      super.onActivityCreated(savedInstanceState); 
      String[] values = new String[] {"data", "data", "data"}; 
      adapter = new ArrayAdapter<String>(getActivity(), 
       android.R.layout.simple_list_item_1, values); 
      setListAdapter(adapter);   
      } 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {  
     return super.onCreateView(inflater, container, savedInstanceState); 
    } 
} 

내 액티비티에서이 데이터를 어떻게 동적으로 변경할 수 있습니까? 이 작업을 수행하는 간단한 방법이 있는지 알려주세요. 나는 ...

UPD를 시도했지만 실패했다 :

보시다시피
public void changeContent(String[] value) { 
     adapter.addAll(value); 
     adapter.notifyDataSetChanged();  
    } 
} 

, 어댑터가 전역 변수이며이 onActivityCreated 내부 초기화,하지만 내 프로그램이 충돌 : 나는 MyListFragment에 함수 changeContent 추가 inside 내의 changeContent가 null이기 (위해) 때문에! 나는 이유를 알 수 없다!

답변

1

당신은 변수 귀하의 값을 변경하는 함수를 작성하고 새 데이터로 채운 후 다음 단지

adapter.notifyDataSetChanged(); 

가 새 데이터로 목록을 채우기 위해 호출 할 수 있습니다.

+0

자세한 내용을 자세히 알려주세요. – user1933770