Le
findViewById()
retournenull
dans la classe de fragment. LeToast
pour laImageButton
montre quelque chose, mais l'objet pourSwitch
-à-diremySwitch
retoursnull
... s'il vous plaît aider ....findViewById renvoie null dans la classe de fragmentpublic MyAdapter(Context context, List<ListItems> values) { super(context, R.layout.list_item, values); } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; LayoutInflater inflater = LayoutInflater.from(getContext()); if(v == null){ v = inflater.inflate(R.layout.list_item, parent, false); } ListItems currLoc = LocationList.get(position); TextView theTextView = (TextView) v.findViewById(R.id.list_item_textview); theTextView.setText(currLoc.getLocation()); TextView theTextView2 = (TextView) v.findViewById(R.id.list_item_textviewP); theTextView2.setText(currLoc.getProfile()); ImageView theImageView = (ImageView) v.findViewById(R.id.imageview1); Toast.makeText(getActivity(), "image view="+theImageView, Toast.LENGTH_SHORT).show(); theImageView.setImageResource(R.drawable.bullet); Switch mySwitch=(Switch) v.findViewById(R.id.onoff); Toast.makeText(getActivity(), ""+mySwitch, Toast.LENGTH_SHORT).show(); return v; }
2
A
Répondre
0
Je l'ai .... j'avais défini le findViewById dans onGetView Je devais le déclarer sur OnCreateView Désolé .....
+1
Fellow des critiques: ceci est une réponse. C'est l'OP expliquant ce qui a causé le problème. –
+0
Je pensais que ** onCreateView ** retourne juste la mise en page. Je ne savais pas que vous appeliez 'findViewById' à l'intérieur. –
S'il vous plaît Montrer xml ici –
Et l'erreur s'il vous plaît. Et ce n'est pas votre 'fragment class', c'est votre classe' adapter' que –
remplace 'LayoutInflater inflater = LayoutInflater.from (getContext());' par 'LayoutInflater inflater = ((LayoutInflater) context.getSystemService (Context.LAYOUT_INFLATER_SERVICE)) ; ' – ELITE