2014-12-25 5 views
0

에 대한 이봐, 난 여기 내 listFragment하지만에 대한 사용자 지정 어댑터를 만든 : = 새로운 CustomListViewAdapter사용자 정의 listAdapter는 listFragment

CustomListViewAdapter 어댑터 (이 항목); 나는이 어쩌면 내가 getActivity를 (둘 필요가 fo를

public class BlankFragment extends ListFragment { 
    ListView lv; 
    View rootview; 

    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     rootview = inflater.inflate(R.layout.fragment_blank, container, false); 

     final String[] items = getResources().getStringArray(R.array.heroes); 
     CustomListViewAdapter adapter = new CustomListViewAdapter(this,items); 
     setListAdapter(adapter); 





     return rootview; 

    } 

) 여기에 특히 사용자 정의 어댑터

public class CustomListViewAdapter extends BaseAdapter { 
    private List<Integer> mModel = new ArrayList<Integer>(); 
    private Context mContext; 
    public CustomListViewAdapter(Context context) { 
     mContext = context; 
    } 
    @Override 
    public int getCount() { 
     return mModel.size(); 
    } 
    @Override 
    public Integer getItem(int position) { 
     return mModel.get(position); 
    } 
    @Override 
    public long getItemId(int position) { 
     return position; 
    } 
    @Override 
    public View getView(int position, View convertView, ViewGroup 
      parent) { 
     CustomListViewView v = null; 
// Notre vue n'a pas encore été construite, nous le faisons 
     if (convertView == null) { 
      v = new CustomListViewView(mContext); 
     } // Notre vue peut être récupérée, nous le faisons 
     else { 
      v = (CustomListViewView) convertView; 
     } 
     v.bind(getItem(position)); 
     return v; 
    } 
    public void bind(List<Integer> model) { 
     mModel = model; 
    } 
} 

레이아웃을 넣어 무엇을 해달라고

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@android:drawable/dialog_holo_light_frame" 
    android:orientation="vertical" > 
    <TextView 
     android:id="@+id/textView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="15dp" 
     android:text="" /> 
</LinearLayout> 

답변

0

당신은 좋겠 결정적인 답을 줄 수 있도록 우리에게 CustomListViewAdapter의 생성자를 보여줄 필요가 있습니다.

아마 활동을해야합니다. 이를 위해 thisthis.getActivity()으로 대체하십시오.

편집 :

글쎄, 당신의 생성자는 다음과 같습니다

public CustomListViewAdapter(Context context) { 
    mContext = context; 
} 

그래서 당신이 통과해야 할 것입니다 유일한 일이 this.getActivity().getApplicationContext()입니다.

+0

레이아웃과 사용자 지정 어댑터를 추가했습니다. – BtAndro

+0

다음과 같은 의미입니다. CustomListViewAdapter adapter = new CustomListViewAdapter (this.getActivity(). getApplicationContext(), items); – BtAndro

+0

그 이유는 무엇입니까? – BtAndro