2012-04-03 16 views
0

我在顯示佈局時遇到了困難。我的意圖如下: 1.用戶點擊按鈕 2.彈出消息並且用戶在是或否之間選擇 3.當單擊「是」時,將顯示名爲「撥號盤」的佈局。單擊按鈕後如何調用佈局?

但是,當我點擊「是」它說「不幸的是,已停止。」誰能幫我 ? 我不知道有這條線上的一個問題...

ViewStub stub = (ViewStub)findViewById(R.id.dialpad); 
stub.setVisibility(View.VISIBLE); 

謝謝您的幫助!

下面的代碼:

package com.example; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewStub; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class ExampleGUIDialogActivity extends Activity { final Context context = this; private Button button; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button) findViewById(R.id.buttonAlert); // add button listener button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder( context); // set title alertDialogBuilder.setTitle("Your Title"); // set dialog message alertDialogBuilder .setMessage("Click yes to exit!") .setCancelable(false) .setPositiveButton("Yes",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { // if this button is clicked, close // current activity // launch dialer ViewStub stub = (ViewStub)findViewById(R.id.dialpad); stub.setVisibility(View.VISIBLE); //stub.inflate(); //View mDialerView = (View)findViewById(R.id.dtmf_twelve_key_dialer_view); //mDialerView.bringToFront(); ExampleGUIDialogActivity.this.finish(); } }) .setNegativeButton("No",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { // if this button is clicked, just close // the dialog box and do nothing dialog.cancel(); } }); // create alert dialog AlertDialog alertDialog = alertDialogBuilder.create(); // show it alertDialog.show(); } }); } }

+0

你可以請張貼一些代碼嗎?具體是什麼錯誤? – Davek804 2012-04-03 21:24:09

+0

如果沒有看到任何代碼,很難幫到你。你不這麼認爲嗎? – 2012-04-03 21:27:17

+0

刪除此行'ExampleGUIDialogActivity.this.finish();' – 2012-04-03 21:49:50

回答

0

試試這個

ViewStub stub = (ViewStub)findViewById(R.id.dialpad); 
if (stub != null){ 
    stub.setVisibility(View.VISIBLE); 
} 

你能否提供任何logcat的信息???

+0

http://pastebin.com/C00YmgyX – user1296153 2012-04-03 22:32:52

0

那麼,一個問題是,你正在充氣ViewStub,然後立即退出你的活動,這將導致各種問題;首先,你的用戶將永遠不會看到新的佈局!

我想你可能想要推出一個新的Activity,它的內容視圖是你試圖膨脹的佈局,並允許用戶根據它執行一些操作......或者你可能想撥打dialog.dismiss()代替?

+0

我刪除了ExampleGuiDialogActivity.this.finish()並嘗試嘗試圍繞setVisibility捕捉並且應用程序沒有崩潰,但沒有顯示佈局。 – user1296153 2012-04-03 22:34:29