タグ付けされた質問 「android-alertdialog」

1つ、2つ、または3つのボタンを表示できるDialogのサブクラス。このダイアログボックスに文字列のみを表示する場合は、setMessage()メソッドを使用します。

17
ボタンがクリックされたときにダイアログが閉じないようにする方法
EditText入力用のダイアログがあります。ダイアログの[はい]ボタンをクリックすると、入力が検証されてダイアログが閉じます。ただし、入力が間違っている場合は、同じダイアログに留まりたいです。入力が何であっても、「いいえ」ボタンをクリックするとダイアログは自動的に閉じられます。これを無効にするにはどうすればよいですか?ちなみに、ダイアログのボタンには、PositiveButtonとNegativeButtonを使用しています。

27
getApplication()をコンテキストとして使用して、「ウィンドウを追加できません-トークンnullはアプリケーション用ではありません」をスローするダイアログ
私のアクティビティは、パラメータとしてコンテキストを必要とするAlertDialogを作成しようとしています。私が使用する場合、これは期待どおりに機能します: AlertDialog.Builder builder = new AlertDialog.Builder(this); ただし、アクティビティが破棄されて画面の回転などの単純なものである場合でもメモリリークが発生する可能性があるため、「this」をコンテキストとして使用することはお勧めしません。Android開発者のブログの関連記事から: コンテキスト関連のメモリリークを回避する簡単な方法が2つあります。最も明白なのは、コンテキストが自身のスコープ外にエスケープされないようにすることです。上記の例では、静的参照の場合を示しましたが、内部クラスとそれらの外部クラスへの暗黙的な参照も同様に危険です。2番目のソリューションは、アプリケーションコンテキストを使用することです。このコンテキストは、アプリケーションが有効であり、アクティビティのライフサイクルに依存しない限り有効です。コンテキストを必要とする長期間存続するオブジェクトを保持する予定の場合は、アプリケーションオブジェクトを覚えておいてください。Context.getApplicationContext()またはActivity.getApplication()を呼び出すことで簡単に取得できます。 しかし、のためにAlertDialog()どちらgetApplicationContext()かgetApplication()に例外をスローするように、コンテキストとして許容可能です: 「ウィンドウを追加できません—トークンnullはアプリケーション用ではありません」 :参照ごとに1、2、3、など 正式に使用することActivity.getApplication()をお勧めしますが、宣伝どおりに機能しないため、これは本当に「バグ」と考える必要がありますか? ジム

17
Androidで[はい/いいえ]ダイアログボックスを表示する方法
はい、AlertDialog.Builderがあることは知っていますが、Androidでダイアログを表示するのがいかに難しいか(少なくともプログラマー向けではありません)を知って驚いています。 以前は.NET開発者でしたが、Androidに相当する次のものはあるのでしょうか。 if (MessageBox.Show("Sure?", "", MessageBoxButtons.YesNo) == DialogResult.Yes){ // Do something... }


9
Android AlertDialogシングルボタン
デフォルトの「はい」と「いいえ」の代わりに、「OK」または「完了」などを示すボタンが1つしかないAlertDialogビルダーが欲しいのですが。標準のAlertDialogでそれを行うことができますか、それとも別のものを使用する必要がありますか?

11
Android 5でデフォルトのダイアログボタンのテキストの色を変更するにはどうすればよいですか
アプリに警告ダイアログがたくさんあります。これはデフォルトのレイアウトですが、ダイアログに正と負のボタンを追加しています。そのため、ボタンはAndroid 5(緑)のデフォルトのテキスト色を取得します。私はそれを変えようとしたが成功しなかった。テキストの色を変更する方法はありますか? 私のカスタムダイアログ: public class MyCustomDialog extends AlertDialog.Builder { public MyCustomDialog(Context context,String title,String message) { super(context); LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); View viewDialog = inflater.inflate(R.layout.dialog_simple, null, false); TextView titleTextView = (TextView)viewDialog.findViewById(R.id.title); titleTextView.setText(title); TextView messageTextView = (TextView)viewDialog.findViewById(R.id.message); messageTextView.setText(message); this.setCancelable(false); this.setView(viewDialog); } } ダイアログの作成: MyCustomDialog builder = new MyCustomDialog(getActivity(), "Try …

6
appCompat 22.1以降の新しいAlertDialogを使用してスタイルを設定する方法
デフォルトのandroid AlertDialogからappCompat-22.1に含まれる新しいandroidに移行しようとしています。これまでのところ、android.support.v7.app.AlertDialogパッケージをインポートするだけで使用できることを理解しています。 しかし、どのようにスタイルを設定できますか?たとえば、正/負のボタンの色、タイトルの色、メッセージの色、背景色を変更しますか?

10
AlertDialogで使用するためにビューをインフレートするときの「ビュールートとしてnullを渡さないでください」という警告
次のようにas でAvoid passing null as the view rootビューを膨らませると、糸くずの警告が表示さnullれますparent。 LayoutInflater.from(context).inflate(R.layout.dialog_edit, null); しかし、ビューはのコンテンツとして使用するAlertDialog使用して、setView上AlertDialog.Builder、私はとして渡されるべきかわかりませんparent。 parentこの場合、何をすべきだと思いますか?


8
buider.show()の「android.view.WindowManager $ BadTokenException:ウィンドウを追加できません」
私のメインから、私activityは内部クラスを呼び出す必要があり、クラス内のメソッドで、私は示す必要がありますAlertDialog。閉じてからOKボタンを押すと、Google Playに転送して購入します。 物事は時代のほとんどのために完璧に動作しますが、少数のユーザーのためにそれが上のクラッシュしbuilder.show()、私は見ることができます"android.view.WindowManager$BadTokenException:クラッシュログから「ウィンドウを追加することができません。お勧めしてください。 私のコードは次のようになります: public class classname1 extends Activity{ public void onCreate(Bundle savedInstanceState) { this.requestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); setContentView(R.layout.<view>); //call the <className1> class to execute } private class classNamename2 extends AsyncTask<String, Void, String>{ protected String doInBackground(String... params) {} protected void onPostExecute(String result){ if(page.contains("error")) { AlertDialog.Builder builder = new AlertDialog.Builder(classname1.this); builder.setCancelable(true); builder.setMessage(""); builder.setInverseBackgroundForced(true); …

14
AlertDialogのタイトルの色とその下の線の色を変更するにはどうすればよいですか
このコマンドを使用してAlertDialogタイトルの色を変更しました alert.setTitle( Html.fromHtml("<font color='#FF7F27'>Set IP Address</font>")); しかし、タイトルの下に表示される線の色を変更したいと思います。どうやってやるの ? 注:カスタムレイアウトを使用したくない

11
カスタムAlertDialogビューを実装する方法
AlertDialogのAndroidドキュメントでは、AlertDialogでカスタムビューを設定するための次の手順と例が示されています。 より複雑なビューを表示したい場合は、「body」というFrameLayoutを検索して、ビューを追加します。 FrameLayout fl = (FrameLayout) findViewById(R.id.body); fl.add(myView, new LayoutParams(FILL_PARENT, WRAP_CONTENT)); まず、それadd()がタイプミスであり、であることを意図していることはかなり明白ですaddView()。 R.id.bodyを使用する最初の行で混乱しています。それはAlertDialogのbody要素のようです...しかし、コードb / cにそれを入力するだけではコンパイルエラーが発生します。R.id.bodyはどこで定義または割り当てられますか? これが私のコードです。私setView(findViewById(R.layout.whatever)はビルダーで使用しようとしましたが、うまくいきませんでした。手動で膨らませなかったからと思いますか? AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Title") .setCancelable(false) .setPositiveButton("Go", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { EditText textBox = (EditText) findViewById(R.id.textbox); doStuff(); } }); FrameLayout f1 = (FrameLayout)findViewById(R.id.body /*CURRENTLY an ERROR*/); …

8
MaterialComponentsテーマアラートダイアログボタン
最近、サポートライブラリからcom.google.android.material:material:1.0.0に切り替えました しかし今、私は問題を抱えています、このページにはメモがありますhttps://github.com/material-components/material-components-android/blob/master/docs/getting-started.md 注:マテリアルコンポーネントテーマを使用すると、デフォルトのコンポーネントを対応するマテリアルに置き換えるカスタムビューインフレータが有効になります。現在、これはButtonXMLコンポーネントをMaterialButtonに置き換えるだけです。 そして私が使っているテーマ Theme.MaterialComponents.Light.NoActionBar そのメモに書かれていることを正確に実行し、AlertDialogボタンをMaterialButtonsに置き換えますが、問題は、デフォルトでMaterialButtonsが背景色になり、ボタンが次のようになることです。 どうすればそれらをボーダレスおよびバックグラウンドレスに戻すことができますか? PSアラートビルダーを使用してアラートダイアログを作成しています: android.app.AlertDialog.Builder

5
警告ダイアログのsetcancelableがfalseの場合、backpressedで機能しない
AlertDialogがありますsetCancelable()が、これは誤りです。でOnbackpressed機能私はAlertDialogを閉じることにしたいです。しかし、setCancelable()がfalseの場合、戻るキーはまったく機能しません。この問題を取り除くにはどうすればよいですか?setCancelable()別の問題が発生するため、true に変更したくありません。 import android.os.Bundle import android.widget.Toast import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { lateinit var dialogBuilder: AlertDialog.Builder override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) dialogBuilder = AlertDialog.Builder(this) dialogBuilder.setMessage("Check your internet connection") .setPositiveButton("OK") { _, _ -> Toast.makeText(this, "OK", Toast.LENGTH_LONG).show() }.setCancelable(false) .create().show() } }
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.