마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Fragment 내에서의 ListView 추가하기에 대해서 질문 드립니다.

0 추천

Activity에서 Fragment를 생성해서 새로 화면에 보여 주려고 합니다.

이때 Fragment는 ListView를 통해 List 정보를 보여 줄 것입니다.

 

그래서 Fragment에 onCreateView의 코드를 다음과 같이 하여,

간단하게 Test를 하려고 하였으나 화면에 리스트가 추가가 되질 않습니다.

 

검색해도 제가 무엇을 잘 못했는지 모르겠어서 이렇게 질문 올립니다.

 

public class ListFragment extends Fragment {

    ... 생략 ....

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {   

        ListView listView;
        ArrayAdapter<String> adapter;
        
        View view;
        
        
        view = inflater.inflate(R.layout.fragment_unit_list, container, false);
        

        listView = (ListView) view.findViewById(R.id.listView);
        adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1); 
        listView.setAdapter(adapter);
  	  
	  	adapter.add("test1");
	  	adapter.add("test2");
      
	  	adapter.notifyDataSetChanged();
    }


    ... 생략 ....

}

 

이렇게 하였음에도 리스트가 갱신이 되질 않고 그냥 empty 상태로 보입니다.

제가 무엇을 모르고 어디서 어떻게 검색을 해야 이 문제를 해결 할 수 있을 까요?

미친공대생 (270 포인트) 님이 2015년 3월 19일 질문

1개의 답변

+1 추천
 
채택된 답변
public class ListFragment extends Fragment {
 
    ... 생략 ....
 
    private ArrayList<String> mList;
    private ListView mListView;;
    private ArrayAdapter mAdapter;
 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {   
 
        View view = inflater.inflate(R.layout.fragment_unit_list, container, false);
        mList = new ArrayList<Stirng>();         
        mListView= (ListView) view.findViewById(R.id.listView);
        mAdapter =  new ArrayAdapter(getActivity(, android.R.layout.simple_list_item_1, mList);
        mListView.setAdapter(mAdapter);
        mList.add("test1");
        mList.add("test2");
       
        mAdapter.notifyDataSetChanged();
 
        return view;
    }
     ... 생략 ....
 
}
이드로이드 (22,930 포인트) 님이 2015년 3월 19일 답변
미친공대생님이 2015년 8월 24일 채택됨
return view; !
가끔 오래 코딩하다보면 깜빡깜빡하죠 ㅜ ㅋㅋ
말씀해 주신대로 String이 올라갈 mList를 추가하여도 역시 empty 상태입니다.
다른분들은 잘 되시는 것 같은데 무엇이 문제인지 모르겠네요. ㅠㅠ

아 그리고 return view는 제가 여기로 가져 오면서 빼먹은 것이고요.
아... 찾았습니다. activity를 수정하여 fragment 를 만들었더니, 로드 자체가 잘못되어서 제가 사용하려고 하였던 class를 아예 참고하지 않더군요. 그 부분을 수정하니 정상적으로 동작합니다.
답변 감사 드립니다. ^^
...