2

LinearLayout を動的に作成したい。

AlertDialog に表示するように設定するにはどうすればよいですか?

レイアウトが XML 経由で作成され、表示するために膨張する例を見てきましたが、動的に実行できる場合は XML レイアウトを作成したくありません。

私はAPI 16 = Android 4.1.2に制限されています

これは私のアクティビティのボタンです...

public void TestOnClick() {
    Button test_button = (Button) findViewById(R.id.button_test);
    test_button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            LinearLayout layout = new LinearLayout(v.getContext());

            //Create a TextView to add to layout
            TextView textview = new TextView(v.getContext());
            textview.setText("My Test");
            layout.addView(textview);

            //Add abunch of other items to the layout
            //blah blah blah

            AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
            builder.setView(layout);
            builder.setNeutralButton("Done", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });
            AlertDialog alert = builder.create();
            alert.show();
        }
    });
}
4

3 に答える 3

0

ダイアログ テーマをアクティビティに適用するには、次のように android:theme 属性を追加して AndroidManifest.xml ファイルの要素を変更するだけです。

 android:theme="@android:style/Theme.Dialog"

そうすることで、アクティビティがダイアログとして表示されます。

さらに、アクティビティのタイトルを表示しないようにする必要がある場合は、アクティビティの OnCreate メソッドにこの行を追加します。

 requestWindowFeature(Window.FEATURE_NO_TITLE);  

それだけです。これが役に立ったら賛成してください ... このページにアクセス

于 2015-08-15T15:48:35.950 に答える
0

このように AlertDialog を作成するようなものですか?

ここに画像の説明を入力

これをインポートに入れます

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Context;

次に、このコードを追加します

final Context context = this;   

Button test_button = (Button) findViewById(R.id.button_test);
test_button.setOnClickListener(new View.OnClickListener() {

  @Override
  public void onClick(View arg0) {

   AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
    context);

   alertDialogBuilder.setTitle("Quit");

   alertDialogBuilder
    .setMessage("Are you sure want to Quit?")
    .setCancelable(false)
    .setPositiveButton("Yes",new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog,int id) {
      // if this button is clicked, close
      // current activity
     menu.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();
   }
  });
}   
于 2015-08-15T15:48:55.473 に答える