2011-10-01 12 views
13

カスタムの行が必要なので、XMLでリストビューを使用して、フラグメントに膨らませています。私は非常にリストビューのためのアダプタを設定する方法が混乱しています。 ベースアダプターを拡張する新しいアダプターを作成しました。 getViewメソッドでは、row.xmlレイアウトを拡張しているときに、どのコンテキストを渡すべきかわかりません。 リストビューのアダプタを設定するにはどうすればいいですか?リストビューアダプタをアンドロイドのフラグメントに設定する

public class ResultsFragment extends Fragment{ 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View v = inflater.inflate(R.layout.results_layout, container, false); 
     listView = (ListView)v.findViewById(R.id.results); 
     return v; 
    } 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 


     loadPage(dataBean.getWhat(), dataBean.getWhere(), dataBean.getPageStart()); 

     //resultsAdapter.setRssData(rssData); 
     //setListAdapter(resultsAdapter); 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     Context context = getActivity().getApplicationContext(); 
     resultsAdapter = new ResultsAdapter(context); 
    } 





    /** 
    * Set List Adapter 
    */ 
    private void setAdapter(){ 
     if(listView.getAdapter() == null){ 
      listView.setAdapter(resultsAdapter); 
     } 
     else{ 
      resultsAdapter.notifyDataSetChanged(); 
     } 
    } 


} 
+0

Resultsアダプター(getActivity());これは私が思うように動作するはずです。 –

答えて

18

あなたはListfragment(代わりのFragment)を拡張し、アダプタを設定するために、そのListFragment.setListAdapterを使用しなければなりません。アダプターでgetView()行を膨張させてください

+0

静的メソッドsetListAdapter(ListAdapter)への静的参照をListFragment –

+1

@SureshParmarタイプから作成することはできませんが、静的メソッドではありません。 'ListFragment'を拡張している場合、このメソッドは' this'にあります – Blackbelt

10

拡張クラスを変更しない場合は、listview.setAdapter(...)メソッドを使用する必要があります。私の例で見てきたように:

ListView productList= (ListView) getActivity().findViewById(R.id.product_list); 


    SampleAdapter adapter = new SampleAdapter(getActivity()); 


    adapter.add(new SampleItem(
      "Sunny LCD TV 2\" SN022L66-T1 Full HD", 
      R.drawable.product_sample_pic); 


    productList.setAdapter(adapter); 
+0

@Johnsonページが見つかりませんでした:( – Ahmed

+0

解決済みですが、これを手伝ってくださいhttp://stackoverflow.com/questions/29446088/how-to-get-alert -dialog-spinner-values-in-textview –

関連する問題