【发布时间】:2014-10-22 01:10:11
【问题描述】:
我正在创建一个具有登录屏幕的 Android 应用。我所做的是,每当用户单击提交按钮时,它都会运行一个进度对话框。然后调用一个新线程来验证登录。当我尝试在登录内的功能上运行 toast 时,应用程序突然崩溃。我用它做的是这样的:
loginButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
dialog = ProgressDialog.show(MainActivity.this, "",
"Validating user...", true);
new Thread(new Runnable(){
public void run(){
login();
}
}).start();
}
});
那么我的登录功能是这样的:
void login(){
try{
//some code
} catch(Exception e){
dialog.dismiss();
Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
但由于某种原因,一旦进入 catch 函数,应用程序就会突然崩溃只有当我添加 toast 的代码时。我的代码有什么问题,为什么只有在我使用 toast 时才会崩溃?
【问题讨论】:
-
你看过异常的LogCat了吗?
标签: java android try-catch android-toast