Witam,
Mam taką aplikację:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class AppActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final TextView tv = new TextView(this);
Button b = (Button)findViewById(R.id.button1);
setContentView(R.layout.main);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
tv.setText("Hello world");
}
});
}
i chciałem za pomocą buttona ustawić tekst tak jak widać ale ta aplikacja nie działa mimo że eclipse podpowiada aby zrobić "tv" jako final. Kiedy nie zadeklarujemy final podkreśla w metodzie onClick "tv" - że nie można tak.
Po prostu nie mogę się dostać do "tv" z poziomu metody onClick.
Mnie nie obchodzi final tylko chcę się nauczyć jak zmieniać stan kontrolek i dowiedzieć się co można robić w metodzie onCreate() a co nie. Przeczytałem "parę" tutoriali(ze str. androida) i jakoś nie znalazłem nic o tym.
Kiedy zrobię TextView zmienną globalną to nie pokazuję błędów ale aplikacja też nie uruchamia się. nie mówiąc już o tym że nie mogę zmienić jej stanu z metody onClick.
Tu daję kod działający aby widać było różnicę:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class AppActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello world");
Button b = (Button)findViewById(R.id.button1);
setContentView(R.layout.main);
}
}
**Jak to się robi ?? Znacie tutoriale, które tłumaczą więcej niż te ze str androida ?? ** proszę :)
EDIT: zaczynam kapować o co biega: nauczyłem się pisać po javovemu a w androidzie stawia się na Graphical Layout a potem edytujemy w main.xml a potem całość składamy do kupy w normalnym pliku .java...
i dopiero na tym jestem.
Pozdrawiam