Autore Topic: findViewById java.lang.NullPointerException  (Letto 825 volte)

Offline lona91

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc desire
  • Sistema operativo:
    Windows 7 / MacOs X 10.6
findViewById java.lang.NullPointerException
« il: 22 Luglio 2010, 11:52:41 CEST »
0
All'interno della mia applicazione creo un Dialog contenente due EditText e un bottone:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/widget44"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<TextView
android:id="@+id/portTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Port:"
android:layout_alignBaseline="@+id/portInp"
android:layout_alignParentLeft="true"
>
</TextView>
<Button
android:id="@+id/saveBtn"
android:layout_width="100px"
android:layout_height="wrap_content"
android:text="Save"
android:layout_below="@+id/portInp"
android:layout_alignParentRight="true"
>
</Button>
<EditText
android:id="@+id/portInp"
android:layout_width="200px"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_below="@+id/hostInp"
android:layout_alignParentRight="true"
android:inputType="phone"
>
</EditText>
<EditText
android:id="@+id/hostInp"
android:layout_width="200px"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
>
</EditText>
<TextView
android:id="@+id/hostTxt"
android:layout_width="98px"
android:layout_height="30px"
android:text="Host: "
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
>
</TextView>
</RelativeLayout>

Ma quando utilizzo la funzione findViewById per ottenere il bottone e aggiungere un onclickListener mi lancia una java.lang.NullPointerException

Codice (Java): [Seleziona]
    @Override
public boolean onOptionsItemSelected(MenuItem item) {
    if(item.getItemId()==0){

        Dialog dialog = new Dialog(this);
        dialog.setContentView(R.layout.dialog);
        dialog.setTitle("Scegli Il PC:");
        dialog.setCancelable(true);
        dialog.show();
 
        hostInp = (EditText) findViewById(R.id.hostInp);
        portInp = (EditText) findViewById(R.id.portInp);

   
        try{
        save = (Button) findViewById(R.id.saveBtn);
        save.setOnClickListener(saveListener);
        }catch(Exception ex){txt.setText(ex.toString());}
    }
        return true;

  }
   

public OnClickListener saveListener= new OnClickListener(){

        public void onClick(View arg0) {
           txt.setText("ok");
        }

};
aiutatemi ... è da giorni ke ci provo :'(

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +203
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:findViewById java.lang.NullPointerException
« Risposta #1 il: 22 Luglio 2010, 12:12:10 CEST »
+1
prova ad usare dialog.findViewById(R.id.saveBtn)

Offline lona91

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc desire
  • Sistema operativo:
    Windows 7 / MacOs X 10.6
Re:findViewById java.lang.NullPointerException
« Risposta #2 il: 22 Luglio 2010, 12:38:25 CEST »
0
Grazie mille così funziona