在我的應用程序中,我有三個調用函數的菜單選項。三個調用中的一個調用函數應該從文件讀取一些信息,然後將其顯示在對話框中。我的問題是讓對話框工作。我使用http://www.helloandroid.com/tutorials/how-display-custom-dialog-your-android-application 作爲參考,但他們使用的方法不適用於我。如何從函數顯示自定義對話框?
星號行之間的部分是我遇到錯誤的地方。 「類型View中的setOnClickListener(View.OnClickListener)方法不適用於參數(new DialogInterface.OnClickListener(){})」它繼續列出建議的替代方法,它們給出了相同的錯誤,但列出了setOnClickListener作爲建議的替代方法。我得到另一個錯誤之後的覆蓋:「onClick(View)類型的新DialogInterface.OnClickListener(){}方法必須覆蓋超類方法」
必須有一個簡單的方法來完成這項任務?我是否缺少的東西,應該是顯而易見的?
//now stick it in a dialog box
Context mContext = getApplicationContext();
Dialog dialog = new Dialog(mContext);
dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle("Totals");
dialog.setCancelable(true);
TextView text1 = (TextView) dialog.findViewById(R.id.diagtext1);
TextView text2 = (TextView) dialog.findViewById(R.id.diagtext2);
TextView text3 = (TextView) dialog.findViewById(R.id.diagtext3);
Button btn = (Button) dialog.findViewById(R.id.button);
text1.setText(dist);
text2.setText(time);
text3.setText(speed);
//******************************************************
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
finish();
}
});
//******************************************************
dialog.show();
}
我改變了你建議的事情。它compliles,但調用dialog.show()時崩潰。確切的錯誤是:「android.view.WindowManager $ BadTokenException:無法添加窗口 - 標記null不適用於應用程序...」任何想法會導致這種情況? – user663467 2011-03-17 02:12:01
成功!該錯誤來自使用'Context mContext = getApplicationContext(); \t final Dialog dialog = new Dialog(mContext);'要解決它,只要做'對話框對話框= new Dialog(this);' – user663467 2011-03-17 03:01:41