-2

Ich bekomme diese null Ausnahme:Versuch, virtuelle Methode ‚java.lang.CharSequence android.widget.TextView.getText()‘ auf ein Null-Objekt Verweis aufrufen

java.lang.NullPointerException: Versuch aufzurufen virtuelle Methode 'java.lang.CharSequence android.widget.TextView.getText()' auf eine Null-Objekt-Referenz

und ich weiß nicht warum.

protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     setTheme(R.style.LoginRegister); 
     setContentView(R.layout.activity_report); 

final TextView infoid = (TextView) findViewById(R.id.idInfo); 

     RadioGroup rg = (RadioGroup)findViewById(R.id.rg); 
     final String radiovalue = ((RadioButton)findViewById(rg.getCheckedRadioButtonId())).getText().toString(); 

... 

     Button sendButton = (Button) findViewById(R.id.button2); 
     sendButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       String text = infoid.getText().toString(); //what is wrong? 
       Log.w("message: ", radiovalue); 
      } 
     }); 


} 

mein xml

<TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/idInfo" 
     android:hint="Add some extra information" 
     android:layout_weight="0.09" 
     android:layout_marginTop="20dp" 
     android:layout_marginBottom="20dp" /> 

    <Button 
     android:text="Report" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/button2" /> 

irgendwelche Ideen?

+0

den Debugger verwenden würden Sie eine schnelle Antwort geben –

+2

Warum Versuchen Sie, nach dem Start eines Acts Text zu erhalten? oder überhaupt? –

+0

@ cricket_007 Ich arbeite an dieser Aktivität, ich werde diese Absicht zu meinem Bericht Funktion onResponse ändern ... –

Antwort

1
  1. Stellen Sie sicher, TextViewidInfo in Ihrem activity_report.xml
  2. existieren Versuchen idInfo als global deklarieren.

    .............. 
    .................... 
    
    TextView infoid; 
    
    protected void onCreate(Bundle savedInstanceState) { 
    
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_report); 
    
        infoid = (TextView) findViewById(R.id.idInfo); 
    
        ............. 
        ................... 
    
        Button sendButton = (Button) findViewById(R.id.button2); 
        sendButton.setOnClickListener(new View.OnClickListener() { 
         @Override 
         public void onClick(View view) { 
          String text = infoid.getText().toString(); 
          .......... 
          ................. 
         } 
        }); 
    
    } 
    

UPDATE:

Um radioButton erhalten ausgewählten Text:

RadioGroup radioGroup = (RadioGroup)findViewById(R.id.rg); 

// get selected radioButton from radioGroup 
int selectedId = radioGroup.getCheckedRadioButtonId(); 

// find the radioButton by returned id 
radioButton = (RadioButton) findViewById(selectedId); 

// radioButton text 
String radiovalue = radioButton.getText(); 

Hope this helfen ~

+0

Ich habe festgestellt, dass das Problem in der Radio-Taste ist: 'RadioGroup rg = (RadioGroup) findViewById (R.id.rg); final String radiovalue = ((RadioButton) findViewById (rg.getCheckedRadioButtonId())). GetText(). ToString(); 'Ich lösche diesen Code und es funktioniert. aber jetzt brauche ich eine andere Möglichkeit, den ausgewählten Artikel zu lesen ... Danke. –

+1

Um den Optionsschaltflächentext zu erhalten, versuche meine aktualisierte Antwort. Hoffe, es wird für Sie arbeiten ... – FAT

+0

Glücklich zu helfen :) – FAT

Verwandte Themen