Visualizzazione stampabile
-
stampa a video
buona sera a tutti!
sto cercando di creare la mia prima app android, che chiede di inserire in una editText un nome, per poi stamparlo a video alla pressione del tasto ok.
il problema è che quando premo il tasto non succede assolutamente nulla! ho provato ad inserire nell'evento di pressione del tasto un System.out.print e tra parentesi ho inserito, tanto per provare, la scritta "ciao", ma non succede nulla! sapreste aiutarmi? grazie mille in anticipo=)
package com.ciao;
import java.io.PrintStream;
import android.app.Activity;
import android.content.res.Resources;
import android.view.View;
import android.widget.FrameLayout;
import android.os.Bundle;
import android.widget.*;
public class Hello extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText edit = new EditText(this);
Button button2 = (Button) findViewById(R.idBottoni.ok);
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v1) {
System.out.print("ciao");
}
});
Button button = (Button) findViewById(R.idBottoni.chiudi);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
}
});
}
}
-
non puoi usare system.out.println, le applicazioni android non vengono eseguite in una shell e quindi non hai il terminale come output.
poi ho visto dando un occhiata alla veloce che o hai sbagliato a scrivere, oppure hai editato a mano la classe R.
quale delle due?
la cosa più semplice che puoi fare simile a questa è mettere una textview nel layout e cambiala nel clicklistener del bottone.
-
nono la classe R non l'ho modificata! facendo in quel modo tutto funziona tranquillamente! ci sto provando ad inserire una textview, l'ho inserita nel main.xml e quando eseguo il programma mi visualizza il ciao, però vorrei che mi apparisse solo dopo aver premuto l'ok e in aggiunta al ciao il nome inserito nella edit! ci sto sbattendo la testa ma non so proprio che pesci prendere :S
-
-
wow sei tempestivo nella risposta=) quello lo sto appena facendo e funziona, il problema è che non riesco a passare l'input della editText alla stampa! io faccio cosi:
public void onClick(View v1) {
String n=this.n;
TextView t = (TextView)findViewById(R.id.txt);
t.setText("ciao"+n);
}
e alla riga dove dichiaro String n, mi dice "n cannot be resolved or is not a field".
nel metodo public void onCreate faccio cosi e non ricevo errore:
String n = edit.getText().toString();
this.n=n;
cioè copio quello che si inserisce in edit in una stringa chiamata n e poi quella stringa la copio in una stringa chiamata n della superclasse.
-
usa i tag per il java e l'xml.
this ti ritorna il reference all'oggetto corrente...
guarda bene il codice e ti accorgerai di essere dentro a un new View.onClickListener() , per quello non funziona. cerchi la variabile n nel posto sbagliato con quel this.
una delle tante possibili soluzioni
-
ho fatto cosi ma mi dice che non posso riferirmi alla variabile edit poichè non è final:
public class Hello extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText edit = new EditText(this);
//String n = edit.getText().toString();
Button button2 = (Button) findViewById(R.idBottoni.ok);
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v1) {
TextView t = (TextView)findViewById(R.id.txt);
String stringa = edit.getText().toString(); //QUI
t.setText("ciao"+stringa);
}
});
non ci arrivo proprio xD
-
usa i tag [ JAVA ] nei pulsanti per postare per favore
hai creato una nuova EditText in modo programmatico, ma poi non hai ottenuto il riferimento col findviewbyid, quella edittext risulterà inevitabilmente vuota perchè non è quella dentro cui scrivi.
l'EditText deve essere dichiarato final se lo dichiari nell'onCreate. se invece lo dichiari come variabile di istanza come ho fatto io no.
-
oddio scusa! non sapevo di cosa parlavi quando ti riferivi a tag java! pensavo fosse qualcosa per il mio programma lol! cmq funziona! sei un grande! mi hai fatto capire moltissime cose! grazie per la pazienza e la disponibilità! =)