У меня есть класс с именем Main, который расширяет Activity.В этом классе я определил другой класс, который расширяет поток.Я хочу установить текст в textView из метода класса myThread.Я отладил свою программу, но когда я хочу установить текст в текстовом представлении, он говорит, что источник не найден.
Вот мой код.Я надеюсь, вы лучше поймете, что я хочу объяснить.
Это происходит, когда я нажимаю кнопку.Это из моей функции onCreate в классе Main.
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
pd = ProgressDialog.show(Main.this, "", "Downloading Data...", true, false);
MyThread mThread = new MyThread();
mThread.start();
}
});
Это класс myThread.
class MyThread extends Thread {
@Override
public void run(){
String result=Main.this.parse();
TextView tv=(TextView) findViewById(R.id.textView5);
tv.setText(result);
Main.this.pd.dismiss();
}
}
Строка результата - это строка, которая перезапускается функцией, определенной в моем главном классе.Я подтвердил, и результат в порядке.Программа останавливается, когда я достигаю строки
tv.setText(result);
Странно то, что в строке нет ошибок
TextView tv=(TextView) findViewById(R.id.textView5);
Спасибо за любую помощь!: D
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
tv=(TextView) findViewById(R.id.textView5);
Button b=(Button) findViewById(R.id.button1);
final EditText et1=(EditText) findViewById(R.id.editText1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
pd = ProgressDialog.show(Main.this, "", "Downloading Data...", true, false);
Log.d("asinc","inainte d downloadtask");
// Start a new thread that will download all the data
MyThread mThread = new MyThread();
mThread.start();
//parse();
}
});