我想在微调控制器进度条完成后按钮单击更新TextView的文本。TextView没有得到更新ProgressBar
public void launchRingDialog(View view) {
final ProgressDialog ringProgressDialog = ProgressDialog.show(MainActivity.this, "Please wait ...", "Downloading File ...", true);
ringProgressDialog.setCancelable(true);
new Thread(new Runnable() {
@Override
public void run() {
try {
String text;
int build_num = android.os.Build.VERSION.SDK_INT;
Set buildNumbers = getSharedPreferenceData(build_numbers);
boolean result = isPresent(buildNumbers,
build_num);
if (result) {
text = "Present";
} else {
text = "Not Present";
}
//Thread.sleep(5000);
System.out.println("Text After button click");
System.out.println(text);
TextView compliance = (TextView) findViewById(R.id.compliance);
compliance.setText(text);
} catch (Exception e) {
}
ringProgressDialog.dismiss();
}
}).start();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (v.getId() == R.id.download_file) {
System.out.println("Inside button click");
launchRingDialog(v);
}
}
在onCreate中,我检查内部编号,并将文本设置为“Present”。但是,当我做的按钮点击,sharedPreference文件被改变了,我检查,返回“不存在于当前的版本号,这是没有得到体现在TextView的。
它的线程在这里创造出了问题?
这可能会导致一个问题'catch(Exception e){}'在那里放一个日志,我确定哟你会看到你得到一个例外。 '.setText()'应该放在'runOnUiThread()' – codeMagic