Come al solito grazie mille per la celere e precisa risposta.
E' esattamente quello che cercavo.
Ho fatto una piccola modifica al mio esercizio che adesso consiste in questo:
- Creare una sola activity composta da un campo editabile ed un pulsante, immettendo il nuovo nome nel campo dovrebbe cambiare il nome del pulsante.
Ho scritto questo codice, ma il pulsante dopo il click diventa senza nome (la stringa "s" non viene inizializzata).
Non capisco dove sbaglio

public class PulsanteActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Questo comando mi carica la view main (quella principale)
setContentView(R.layout.main);
//Definisco il pulsante e lo chiamo btn findViewById recupera la View del pulsante dal suo ID
final Button btn = (Button) findViewById(R.id.pulsanteid);
btn.setOnClickListener(new View.OnClickListener() {
//memorizzo quanto digitato in una stringa
EditText et = (EditText)findViewById(R.id.camponome);
String s = et.getText().toString();
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.pulsanteid:
//sostituisco il nome Defoult del pulsante con il nome immesso
btn.setText(s);
break;
}
}
});
}
}Il file XML è cosi grossolanamente impostato:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<EditText
android:id="@+id/camponome"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:imeOptions="actionSend"
android:lines="1"
android:hint="actionSend">
</EditText>
<Button
android:id="@+id/pulsanteid"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/testodelpulsante">
</Button>
</LinearLayout>Dove sbaglio?
