どのように私のcustomAdapterに異なるスタイリングを与えるか?私のカスタムアダプターはgetViewメソッドからレイアウトビューを取得します。私がしたいのは、異なるアクティビティからアダプタが呼び出されたときに、異なるスタイリングレイアウトを与えることです。私はインターフェイスを使用しようとしましたが、それは示して、これは私のgetViewメソッド(int型の位置、表示convertView、のViewGroupの親)メソッド内で自分のコードをある1つのcustomAdapterに異なるスタイリングレイアウトを与える
Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
エラー:
:私はインターフェイスを実装した後if(convertView!=null){
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item1,parent,false);
}
クラスCustomAdapter内部
StylingView stylingView;
public interface StylingView{
void styleView(View convertView,ViewGroup parent);
}
public View getView(int position, View convertView, ViewGroup parent){
stylingView.styleView(convertView,parent);
}
内部FragmentSecondPage.class
public class FragmentSecondPage extends ListFragment implements CustomAdapter.StylingView{
CustomAdapter customAdapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
customAdapter.styleView = this;
}
@Override
public void styleView(View convertView,ViewGroup parent){
if(convertView!=null){
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item1,parent,false);
}
}
}
この問題を解決するためにどのような方法、またはそうする他の方法はありますか?
ですが、さまざまなアクティビティに対してこれをどのように行うのですか? – VincentTheonardo
Activity1から、 'mAdapter = new MyCustomAdapter(LAYOUT_TYPE1);を呼び出し、Activity2から' mAdapter = new MyCustomAdapter(LAYOUT_TYPE2); 'を呼び出します。
これで、 'getItemViewType()'の内部にロジックを書き込んで、このStringに従って0/1を返します。 – Nizam
今私はそれを得る、私のエラーは私のif文に "convertView!= null"は "convertView == null"に変更する必要があります – VincentTheonardo