标签: android-alertdialog

使用警告对话框确定选择(单选按钮)

我有一个我想要创建的弹出窗口,它有3个选择.(阻止,取消阻止,卸载).下面我有一个确认|取消按钮.我想看看哪个按钮被按下,并根据它将显示与选择对应的吐司.我写了一些代码来展示我想要做的事情.显然,if items [item] == Block将不起作用,但在简化的意义上,这正是我想要做的.有人可以告诉我如何编写OnClickListener以捕获单击的按钮以及单击确认时如何区分它?

码:

package com.popup;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;



public class PopupActivity extends Activity { 


    String TAG = "PopUpActivity";
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        BlockUnblockUninstallPopUp("");
        String TAG = "PopUpActivity";
    }
    public void BlockUnblockUninstallPopUp(final String PackageName){       
        //Items you would like to list as options.
         final CharSequence[] items = {"Block", "UnBlock", "Uninstall"};
         String flag = null;
          AlertDialog.Builder builder = new AlertDialog.Builder(PopupActivity.this);

        //Title of Popup
          builder.setTitle("What would you like to do?"); …
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog

1
推荐指数
1
解决办法
2413
查看次数

对话框中的按钮顺序

我正在给AlertDialog充气让用户发送评论.相当简单.但是我得到了这个Lint警告:

布局使用错误的按钮顺序API> = 14:创建一个相反顺序的layout-v14/chat_comment_dialog.xml文件:取消按钮应该在左边(是"@ string/send | Cancel",应该是"取消| @"字符串/发送")

所以,是的,这是解决方案,为API> = 14创建一个特定的布局并反转顺序.但是....真的吗?这真的是官方的建议吗?在某些设备中设置一个订单而在其他设备中设置不同的订单?作为用户,我会感到非常困惑.我是否应该忽略这个Lint建议,或者以其他方式,对一组设备遵循这种新模式(我认为相当混乱)

无论如何,这是布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="8dp" >

    <EditText
        android:id="@+id/username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/username"
        android:singleLine="true" />

    <EditText
        android:id="@+id/message"
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:gravity="top|left"
        android:hint="@string/review" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:paddingRight="4dp"
            android:text="@string/send"
            android:textSize="18sp" />

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:paddingLeft="4dp"
            android:text="@android:string/cancel"
            android:textSize="18sp" />
    </LinearLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我必须在XML中而不是在AlertDialog.Builder中膨胀按钮(也许这样按钮会自动自行排序),因为你设置为Builder的deafult按钮的任何onClickListener都会忽略对话框,而我必须避免这种行为来自己控制Dialog.

android android-widget android-layout android-alertdialog

1
推荐指数
1
解决办法
2923
查看次数

为什么我的警报对话框崩溃了

最近我按照了如何创建警告对话框的教程,当我点击删除按钮时,它应该在删除之前向我显示警告,但它会崩溃.有人能告诉我我的错误在哪里吗?

以下是我的代码:

// Delete button click event
    btnDeleteEvent.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            // alerting user before deleting event
            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                    getApplicationContext());
            // set title
            alertDialogBuilder.setTitle("Warning!");
            // set dialog message
            alertDialogBuilder
                    .setMessage("Are you sure to delete event?")
                    .setCancelable(false)
                    .setPositiveButton("Yes",
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog,
                                        int id) {
                                    // if yes, deleting event in background
                                    // thread
                                    new DeleteEvent().execute();
                                }
                            })
                    .setNegativeButton("No",
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog,
                                        int id) {
                                    // if …
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog

1
推荐指数
1
解决办法
4286
查看次数

不要通过单击按钮关闭alertdialog - Android

我有一个alertdialog任何选项和2个按钮.当我按下第二个按钮(仅停止声音)时,我不想关闭对话框.

是否有任何属性可以保持对话框打开?

非常感谢!

码:

        public void creaDialogTo(){

            final String[] tonos = {"thinks.mp3", "life.mp3", "war.mp3"};

            AlertDialog.Builder builder = new AlertDialog.Builder(this);

            builder.setTitle("Select");
            builder.setCancelable(false);
            builder.setSingleChoiceItems(tones, -1,new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int item) {
                    tone=tones[item];
                    sound1 =new SoundManager(getApplicationContext());
                    sound1.loadSound(tones[item]);


                }
            });
            builder.setPositiveButton("Confirm",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            pref.setTone(tone);

                            sound1.stopsound();

                        }
                    });
            builder.setNeutralButton("Stop sound",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                        sound1.stopsound();

                        }
                    });
            AlertDialog alert = builder.create();
            alert.show(); 

    }
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog

1
推荐指数
1
解决办法
6209
查看次数

在重新加载android中的活动时,alertdialog消失了

我必须开发一个Android应用程序.

我创建了一个警告对话框.如果我必须旋转方向意味着警报对话框消失.

但是我想在方向改变时显示警告对话框.

@Override
   public void onConfigurationChanged ( Configuration newConfig )
  {
      super.onConfigurationChanged(newConfig);
    try
    {
        MainActivity.editCalled = true;
        Intent in = new Intent(AndroidListFragmentActivity.this, AndroidListFragmentActivity.class);
        startActivity(in);
        finish();
    }
     catch (Exception e)
    {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,我使用了两个片段......

在第二个片段中有一个警告对话框:

    ImageView share = (ImageView) findViewById(R.id.imageView5);
    share.setOnClickListener(new OnClickListener()
      {
        public void onClick ( View v )
        {
            final CharSequence[] items =
            {
                    "Facebook", "Twitter", "Email"
            };

            AlertDialog.Builder builder = new AlertDialog.Builder(SubCate.this);
            builder.setTitle("Share Via:");
            builder.setItems(items, new DialogInterface.OnClickListener()
            {
                public void onClick ( DialogInterface dialog , int …
Run Code Online (Sandbox Code Playgroud)

android android-orientation android-alertdialog

1
推荐指数
1
解决办法
2529
查看次数

在Activity之外构建AlerDialog(RecyclerView.Viewholder)

我正在使用RecyclerView,并且只要长按RecyclerView中的项目,就想打开AlertDialog.

在RecyclerView的ViewHolder中,我实现了clicklistener

 @Override
    public boolean onLongClick(View v) {

        //Open Alert dialog to delete item

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

        ...

}
Run Code Online (Sandbox Code Playgroud)

我可以在这里阅读:http://goo.gl/Kd1c7i一个需要通过"MyActivity.this"到AlertDialog.Builder构造函数,但由于ViewHolder是RecyclerView适配器的静态部分,我不能引用"MyActivity.这个".因此我仍然得到错误:

android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
Run Code Online (Sandbox Code Playgroud)

那么如何从不扩展Activity的类创建AlertDialog?

@Edit:更多代码以获取更多信息:

这是我的RecyclerView Adapter构造函数:

RecyclerViewCourseAdapter(ArrayList<Course> courses, Context context) {
    this.context = context;
    if (courses == null) {
        throw new IllegalArgumentException("courses ArrayList must not be null");
    }

    mCourseArrayList = courses;
}
Run Code Online (Sandbox Code Playgroud)

我将给定的上下文存储为Adapter类中的private:

private Context context;
Run Code Online (Sandbox Code Playgroud)

这是我的ViewHolder:

public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener,View.OnLongClickListener …
Run Code Online (Sandbox Code Playgroud)

java android dialog android-alertdialog android-activity

1
推荐指数
1
解决办法
2402
查看次数

添加链接到alertdialog文本android

我正在创建一个alertdialog,在消息中我放了一个String.该字符串带有一些我希望将它们作为链接的文本,因此当它们显示在对话框中时,用户可以单击它们并转到其他视图.让我告诉你一个我想要的例子:

public class Activity extends FragmentActivity{

(...)

    public void myMethod(){
        String message = "Some links: link1, link2, link3";
        AlertDialog.Builder builder = new AlertDialog.Builder(this)
        builder.setTitle("This is a title");
        builder.setMessage(message);
        builder.setCancelable(true);
        builder.setOnCancelListener(onCancelListener);
        builder.create().show();
    }
}
Run Code Online (Sandbox Code Playgroud)

我想对link1,link2和link3做一些事情,所以当它们显示在对话框中时,它们显示为链接.然后,当用户点击link1时,会显示一个新活动; 当点击链接2时,会显示另一个视图,并且与link3相同.

我希望有一个onlinkclicklistener或类似的东西,所以我在用户点击链接时捕获.

有关如何做到这一点的任何想法?我希望你能理解我想要的东西:)

android hyperlink android-alertdialog

1
推荐指数
1
解决办法
4658
查看次数

屏幕旋转后恢复对话框

我有2个edittexts的对话框(来自这个库的材料对话框 ).在我旋转后,设备活动被破坏并且对话框也是如此.我知道edittext有自动保存输入文本,但我怎么能禁止对话被破坏?

 MaterialDialog dialog = new MaterialDialog.Builder(context).customView(R.layout.dialog_edit_point_info, false)
            .positiveText(R.string.ok).negativeText(R.string.cancel)
            .positiveColorRes(R.color.dark_blue).negativeColorRes(R.color.black)
            .iconRes(R.drawable.ic_marker_location)
            .autoDismiss(false)
            .title(R.string.edit_title_dialog).callback(callback).build;
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog material-design

1
推荐指数
1
解决办法
3833
查看次数

从甜蜜警报对话框Android中删除"确定"按钮

我正在使用SweetAlert Dialog for android.

https://github.com/pedant/sweet-alert-dialog

在成功对话框中,我想删除OK按钮,因为我正在使用计时器选项,但是在他们的文档中没有提到这样做的选项.请解释如何删除确定按钮.

在此输入图像描述

MainActivity.java

public class Main2Activity extends AppCompatActivity {
private Firebase mRootRef;
private Button mBtn1;
private Button mBtn2;
int counter;
int counter1;
long value;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    Firebase.setAndroidContext(this);
    mBtn1 = (Button) findViewById(R.id.btn1);
    mBtn2 = (Button) findViewById(R.id.btn2);
    mBtn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (v.equals(mBtn1)) {
                mRootRef = new Firebase("https://voting-cf0fa.firebaseio.com/House/Jupiter/Player 1");
                final Firebase mRefChild = mRootRef.child("Votes");
                mRefChild.runTransaction(new Transaction.Handler() {
                    @Override
                    public Transaction.Result doTransaction(final MutableData currentData) {
                        if (currentData.getValue() == …
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog

1
推荐指数
1
解决办法
2624
查看次数

在Sweet警报中更改按钮样式

我正在使用SweetAlert Dialog for android.

https://github.com/pedant/sweet-alert-dialog

在成功对话框中,我想删除OK按钮并更改其样式.请解释如何删除确定按钮.

我按下按钮点击方法

new SweetAlertDialog(this, SweetAlertDialog.SUCCESS_TYPE)
    .setTitleText("Good job!")
    .setContentText("You clicked the button!")
    .show();
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog sweetalert

1
推荐指数
2
解决办法
2653
查看次数