2016-03-25 5 views
2
  • Die findViewById() kehrt null in Fragment-Klasse. Die Toast für die ImageButton zeigt etwas, aber das Objekt für Switch dh mySwitch kehrt null ... Bitte helfen ....findViewById null zurück in Fragmente Klasse

    public 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; 
    } 
    
+0

Bitte zeigen Sie Xml hier –

+0

Und der Fehler bitte. Und es ist nicht Ihre 'Fragmentklasse', es ist Ihre' Adapter' Klasse, die –

+0

'LayoutInflater inflater = LayoutInflater.from (getContext()); 'durch' LayoutInflater inflater = ((LayoutInflater) context.getSystemService (Context.LAYOUT_INFLATER_SERVICE)) ; ' – ELITE

Antwort

0

ich es bekam .... ich die findViewById in onGetView definiert hatte Ich musste es auf OnCreateView erklären Sorry .....

+1

Gutachter: Dies ist eine Antwort. Es ist die OP, die erklärt, was das Problem verursacht hat. –

+0

Ich dachte, ** onCreateView ** gibt nur das Layout zurück. Ich wusste nicht, dass du 'findViewById' darin anrufst. –

Verwandte Themen