0

レイアウトの表示に問題があります。ここに私の意図があります: 1. ユーザーがボタンをクリックします 2. メッセージがポップアップし、ユーザーは [はい] または [いいえ] を選択します 3. [はい] をクリックすると、「dialpad」という名前のレイアウトが表示されます。

しかし、「はい」をクリックすると、「残念ながら、停止しました」と表示されます。誰でも私を助けることができますか?この回線に問題があることはわかっています...

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(); } }); } }

4

2 に答える 2

0

これを試して

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

logcat情報を提供できますか???

于 2012-04-03T21:29:57.660 に答える
0

問題の 1 つは、アクティビティを膨らませてViewStubからすぐにアクティビティを終了することです。これにより、あらゆる種類の問題が発生します。まず、ユーザーが新しいレイアウトを見ることはありません!

膨らませようとしているレイアウトをコンテンツビューとして持つ新しいものを起動し、それに基づいてユーザーが何らかのアクションを実行できるようにすることをお勧めします...または、代わりActivityに呼び出したいですか?dialog.dismiss()

于 2012-04-03T21:33:18.333 に答える