ArrayAdapterden veri yollama sorunu.
02.12.2015 - 10:28
Merhaba arkadaşlar. Bir adet fragment`ım var ve fragment`ın içinde ArrayAdapter`üm var. Fragment içindeki verileriYolla metoduna adapterden ne şekilde veri yollamaya çalışırsam çalışayım null pointer hatası alıyorum.
EDİT: Metodun içindeki Toast mesajı deneme amaçlıdır verinin metodu gelip gelmediğini anlamak için. Normalde interface ile başka bir fragment`a yolluyorum veriyi ama gene nullpointer hatası alıyorum.
Fragment ve ArrayAdapter Kodları: (ArrayAdapter Fragment Class`ının içinde)
public class GelirKategoriFragment extends DialogFragment {
private ListView lstKategoriler;
private View roowView;
private List<ModelKategori> modelKategoriList = new ArrayList<ModelKategori>();
public GelirGiderGirisiInterface gelirGiderGirisiInterface;
public GelirKategoriFragment(GelirGiderGirisiInterface gelirGiderGirisiInterface) {
this.gelirGiderGirisiInterface = gelirGiderGirisiInterface;
}
public GelirKategoriFragment() {
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
roowView = inflater.inflate(R.layout.gelir_kategori_fragment, container, false);
return roowView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
lstKategoriler = (ListView) roowView.findViewById(R.id.lstGelirKategoriler);
kategorileriCek();
}
private void kategorileriCek() {
Veritabani db = new Veritabani(getContext());
modelKategoriList = db.gelirKategorileriCek();
if (modelKategoriList != null) {
lstKategoriler.setAdapter(new GelirKategoriAdapter(getContext(), R.layout.listview_kategoripopup_tasarim, modelKategoriList));
}
}
@Override
public void onResume() {
ViewGroup.LayoutParams params = getDialog().getWindow().getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.MATCH_PARENT;
getDialog().getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);
super.onResume();
}
public void verileriYolla(String kategoriAdi, int kategoriResmi) {
Toast.makeText(getContext(), kategoriAdi, Toast.LENGTH_SHORT).show();
}
private class GelirKategoriAdapter extends ArrayAdapter<ModelKategori> {
private int resource;
private List<ModelKategori> modelKategoriList;
private GelirKategoriFragment gelirKategoriFragment = new GelirKategoriFragment();
public GelirKategoriAdapter(Context context, int resource, List<ModelKategori> modelKategoriList) {
super(context, resource, modelKategoriList);
this.resource = resource;
this.modelKategoriList = modelKategoriList;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Holder mainHolder = null;
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(resource, parent, false);
final Holder holder = new Holder();
holder.imgKategoriResmi = (ImageView) convertView.findViewById(R.id.imgKategoriResmiPopUp);
holder.tvKategoriAdi = (TextView) convertView.findViewById(R.id.tvKategoriAdiPopUp);
convertView.setTag(holder);
}
mainHolder = (Holder) convertView.getTag();
final ModelKategori modelKategori = modelKategoriList.get(position);
mainHolder.imgKategoriResmi.setImageResource(modelKategori.getKategoriResmi());
mainHolder.tvKategoriAdi.setText(modelKategori.getKategoriAdi());
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String kategoriAdi = modelKategori.getKategoriAdi();
int kategoriResmi = modelKategori.getKategoriResmi();
gelirKategoriFragment.verileriYolla(kategoriAdi, kategoriResmi);
}
});
return convertView;
}
public class Holder {
ImageView imgKategoriResmi;
TextView tvKategoriAdi;
}
}
}
Gelen Hata :
FATAL EXCEPTION: main
Process: com.example.olohom.drawer, PID: 22961
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
3
Görüntülenme
0 Beğeni