2016-03-26 15 views
0

UPDATEDie Methode kann nicht auflösen Maketext

Wenn ich diesen Code Toast.makeText (Lesson111.this, rb.getText(), Toast.LENGTH_SHORT) .show(); Ich empfange die Fehlermeldung, dass die Methode texttext nicht aufgelöst werden kann. Dann habe ich das gesehen (The method makeText in the type Toast is not applicable for the arguments) Ich habe den Code Toast.makeText (Lesson111.this.getActivity(), rb.getText(), Toast.LENGTH_SHORT) .show(); anstelle von Toast.makeText (Lektion111.dies, rb.getText(), Toast.LENGTH_SHORT) .show(); . Der Fehler ist irgendwie weg. Wenn ich jedoch versuche, die Anwendung auszuführen, klicke auf die Lektion111. Erzwingt das Schließen der Anwendung. Fehle ich etwas?

package com.android.pet.view; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.View; 
import android.widget.RadioButton; 
import android.widget.RadioGroup; 
import android.widget.Toast; 
import android.view.LayoutInflater; 
import android.view.ViewGroup; 

import com.doepiccoding.navigationdrawer.R; 

public class Lesson111 extends Fragment { 
    private RadioGroup radioGroup; 


    public View onCreateView(LayoutInflater Inflater, ViewGroup container,Bundle savedInstanceState) { 
     View rootView = Inflater.inflate(R.layout.twopointthree, null); 

    /* Initialize Radio Group and attach click handler */ 
     radioGroup = (RadioGroup) rootView.findViewById(R.id.radioGroup); 
     radioGroup.clearCheck(); 

    /* Attach CheckedChangeListener to radio group */ 
     radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
      @Override 
      public void onCheckedChanged(RadioGroup group, int checkedId) { 
       RadioButton rb = (RadioButton) group.findViewById(checkedId); 
       if(null!=rb && checkedId > -1){ 
        Toast.makeText(Lesson111.this.getActivity(), rb.getText(), Toast.LENGTH_SHORT).show(); 
       } 

      } 
     }); 
     return rootView; 
    } 

    public void onClear(View v) { 
    /* Clears all selected radio buttons to default */ 
     radioGroup.clearCheck(); 
    } 

    public void onSubmit(View v) { 
     RadioButton rb = (RadioButton) radioGroup.findViewById(radioGroup.getCheckedRadioButtonId()); 
     Toast.makeText(Lesson111.this.getActivity(), rb.getText(), Toast.LENGTH_SHORT).show(); 
    } 
} 

Hier ist, was auf dem logcat zeigt, Im mit Bluestacks als Emulator

03-27 06: 04: 19,703 7.458-7.458 /? E/Android Runtime: fatal EXCEPTION: main Prozess: com.doepiccoding.navigationdrawer, PID: 7458 java.lang.NullPointerException bei com.android.pet.view.Lesson111.onCreateView (Lesson111.java:22) bei android. support.v4.app.Fragment.performCreateView (Fragment.java:1478) unter android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:927) unter android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1104) bei android.support.v4.app.BackStackRecord.run (BackStackRecord.java:682) bei android.support.v4.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:1460) bei android.support.v4.app.FragmentManagerImpl $ 1.run (FragmentManager.java:440) bei android.os.Handler.handleCallback (Handler.java:733) bei android.os.Handler.dispatchMessage (Handler.java: 95) bei android.os.Looper.loop (Looper.java:136) bei android.app.ActivityThread.main (ActivityThread.java:5021) bei java.lang.reflect.Method.invokeNative (native Methode) at java.lang.reflect.Method.invoke (Methode.java:515) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:827) bei com.android.internal.os.ZygoteInit .main (ZygoteInit.java:643) bei dalvik.system.NativeStart.main (Native Methode)

+0

Könnten Sie den logcat plz Post hat? So können wir sehen, welche Ausnahme ausgelöst wird, wenn Sie versuchen, den Toast anzuzeigen. Ich denke, Lesson111.this.getActivity() könnte Null zurückgeben, aber es ist schwer zu bestätigen, ohne die Protokolle –

+1

@KevinLEGOFF Ich habe den Beitrag bereits aktualisiert, auch Im mit bluestacks als Emulator – Dreamer

Antwort

1

Es scheint der Fehler von der Linie 22 kommen

radioGroup.clearCheck();

Können Sie prüfen, ob das Layout twopointthree eine Radiogroup mit der ID radiogroup

+0

Ja, Sie haben Recht. Es gibt keine RadioGroup in zwei Punkten. Ich habe die Radiogruppe hinzugefügt und sie funktioniert bereits und die Ausgabe wird bereits in meiner Navigationsleiste angezeigt. Ich danke dir sehr! – Dreamer

Verwandte Themen