标签: android-dialog

对话框中的 onTouchEvent

我已经onLongClickListener在 Android 中实现了Dialog使用计时器自动减少数字的按钮。这是代码

myIncreaseTimer = new Timer();
final Runnable runnable_decrease = new Runnable() {
    public void run() {
        int txt = Integer.parseInt(length.getText().toString());
        txt -= 1;
        length.setText(String.valueOf(txt));
        if (txt == 0) {
            myIncreaseTimer.cancel();
            myIncreaseTimer.purge();
            myIncreaseTimer = new Timer();
        }
    }
};
btnMinus.setOnLongClickListener(new View.OnLongClickListener() {
    public boolean onLongClick(View v) {
        myIncreaseTimer.schedule(new TimerTask() {
            @Override
            public void run() {
                runOnUiThread(runnable_decrease);
            }
        }, 0, 300);
        return true;
    }
});
Run Code Online (Sandbox Code Playgroud)

当我在活动中而不是对话框中时,我可以通过onTouchEvent用户触摸屏幕来停止减少

@Override 
public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() …
Run Code Online (Sandbox Code Playgroud)

android timer ontouchlistener touch-event android-dialog

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

包含列表选择项的警报框仍为空

我想在几个按钮的Onclick事件中检查一些Spinner控件(如果用户离开Activity),如果一个或多个未填写,则向用户显示一条带有2个选项的警告消息:

@Override
public void onClick(View v) {

    int i1 = spinner1.getSelectedItemPosition();
        (..)

    if ((i1 == 0) | (i2 == 0) | (i3 == 0) | (i4 == 0) | (i5 == 0)) {
        AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
        alertbox.setMessage("Answers missing, what do you want to do?");
        final CharSequence[] items = {
                "Oops.. let me fix that…",
                "I want to leave the app now" };
        alertbox.setTitle("Pick an item");
        alertbox.setItems(items, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {
                if (item …
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog android-dialog

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

尝试在点击列表项时单击时添加对话框会导致StackOverflow错误

我想在使用longClick时添加带有2个按钮的对话框编辑删除(仅实际删除实现)(标准点击打开项目详细信息)

所以我试图按照这个链接上的指南

我补充说

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.layout.edit_dialog, menu);
}

@Override
public boolean onContextItemSelected(MenuItem item) {
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
            .getMenuInfo();

    switch (item.getItemId()) {
    case R.id.remove_item:

        final String[] listItem = getItemId();

        String idItemSel = listItem[info.position];

        delItem(idItemSel);
        adapter.notifyDataSetChanged();
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

(其中适配器是我的列表适配器)

我以这种方式配置了监听器

list.setOnItemClickListener(new OnItemClickListener() {

            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-dialog

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

Android对话框导致android.view.WindowManager $ BadTokenException:无法添加窗口

我已将我的活动放在childview中,现在我无法显示来自我的活动和适配器的对话框.在我的logCat中我得到了

04-11 12:39:59.823: E/AndroidRuntime(12831): FATAL EXCEPTION: main
04-11 12:39:59.823: E/AndroidRuntime(12831): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@41971f18 is not valid; is your activity running?
04-11 12:39:59.823: E/AndroidRuntime(12831):    at android.view.ViewRootImpl.setView(ViewRootImpl.java:513)
04-11 12:39:59.823: E/AndroidRuntime(12831):    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:301)
04-11 12:39:59.823: E/AndroidRuntime(12831):    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
04-11 12:39:59.823: E/AndroidRuntime(12831):    at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
04-11 12:39:59.823: E/AndroidRuntime(12831):    at android.view.Window$LocalWindowManager.addView(Window.java:537)
04-11 12:39:59.823: E/AndroidRuntime(12831):    at android.app.Dialog.show(Dialog.java:278)
04-11 12:39:59.823: E/AndroidRuntime(12831):    at android.app.AlertDialog$Builder.show(AlertDialog.java:932)
04-11 12:39:59.823: E/AndroidRuntime(12831):    at com.myapp.functions.DownloadsDetailsAdapter$1$2.run(DownloadsDetailsAdapter.java:148)
04-11 12:39:59.823: E/AndroidRuntime(12831):    at android.app.Activity.runOnUiThread(Activity.java:4170)
04-11 12:39:59.823: E/AndroidRuntime(12831):    at com.myapp.functions.DownloadsDetailsAdapter$1.onClick(DownloadsDetailsAdapter.java:139)
04-11 12:39:59.823: E/AndroidRuntime(12831):    at android.view.View.performClick(View.java:3511) …
Run Code Online (Sandbox Code Playgroud)

multithreading android android-dialog

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

Android Activity:外部触摸事件的侦听器

我有一个显示为对话框的活动:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.setTheme(android.R.style.Theme_Dialog);
    setFinishOnTouchOutside(true);
}
Run Code Online (Sandbox Code Playgroud)

当用户通过触摸 Activity-Dialog 窗口之外来关闭 Activity-Dialog 时,Activity 完成。

如何在此事件上设置侦听器?

这很重要,因为我希望能够打电话

setResult(intResultCode, intent);
Run Code Online (Sandbox Code Playgroud)

就在完成之前。

在 onPause() 中调用 setResult() 可能已经太晚了。

java android android-dialog android-activity onactivityresult

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

如何在android中显示DialogFragment android.support.v4.app.DialogFragment

碎片我是新手.我想在Dialog中显示图像.任何人都可以提供如何显示支持所有设备的DialogFragment的代码片段吗?

android android-dialog

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

如何在android对话框中设置图像视图?

我想在android对话框中设置图像视图.如果我从图库中选择一个图像,则会在所选图像的对话框中显示.我将尝试从厨房获取图像并传递到警报对话框的路径.

android android-image android-layout android-dialog

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

在android 5.0下面更改alertDialog的标题颜色

我创建了一个AlertDialog并且想要更改AlertDialog的标题颜色但是在每次尝试中都失败了.它的工作原理很细上Android 5.0与标题颜色和上面为黑色,但是当它运行下面的是Android 5.0,它的标题颜色获取的变成白色,我用了风格和许多其他来源来自互联网但失败了,我的代码如下,

AlertDialog.Builder builder = new AlertDialog.Builder(context);
    builder.setMessage(msg)
            .setCancelable(true)
            .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int id) {
                    dialog.dismiss();
                }
            });

    final AppCompatDialog dialog = builder.create();
    dialog.setTitle("VALIDATION_TITLE error");
    dialog.setCancelable(false);
    dialog.show();
Run Code Online (Sandbox Code Playgroud)

我的问题通过以下方式得到解决,

dialog.setTitle( Html.fromHtml("<font color='#FF7F27'>Set IP Address</font>"))
Run Code Online (Sandbox Code Playgroud)

但我不想用这个,任何帮助都会非常感激.您可以通过此聊天链接查看我的对话框的屏幕截图

android android-alertdialog android-dialog

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

Kotlin for Android 中匿名类的覆盖方法

我的代码是用 Java 编写的,我正在将它重构为 Kotlin。我有这个:

Dialog dialog = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar) {
    @Override
    public boolean dispatchTouchEvent(MotionEvent event) {
        dismiss();
        dialog = null;
        setLockedDialog(false);
        return false;
    }
};
Run Code Online (Sandbox Code Playgroud)

我无法使用 Kotlin 编写它。这是我的方法:

dialog = Dialog(this, android.R.style.Theme_Translucent_NoTitleBar) {
    override fun dispatchTouchEvent(ev: MotionEvent) {
        // TODO Implement function
    }
}
Run Code Online (Sandbox Code Playgroud)

我的 Android Studio 向我展示了:

1- Type mismatch. Required: Boolean. Found: Int(下android.R.style.Theme_Translucent_NoTitleBar)。

2-Type mismatch. Required: DialogInterface.OnCancelListener! Found: () - > Unit围绕被覆盖的功能。

有什么建议?

android android-dialog kotlin motionevent

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

如何使用showDialog(id)更新AlertDialog内容

我希望在我的应用程序中有一个alertdialog,每次显示时都会更新其消息.这是因为对话框值取决于应用程序上的某些值.

现在我尝试使用showDialog方法:

@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
    showDialog(RESULT_DIALOG);
    return false;
}
Run Code Online (Sandbox Code Playgroud)

但是一旦创建了对话框,它就不会改变消息(我知道如果创建了对话框,它会使用已启动的版本).

我的onCreateDialog方法代码是:

public Dialog onCreateDialog(int dialogId) {
    AlertDialog dialog;
    switch(dialogId) {
    case RESULT_DIALOG:
        // do the work to define the pause Dialog
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage(localTv.getText())
               .setCancelable(false)
               .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                        dialog.cancel();
                   }
               });                                 
        dialog = builder.create();
        break;
    default:
        dialog = null;
    }
    return dialog;
}
Run Code Online (Sandbox Code Playgroud)

有一种方法可以更新AlertDialog的内容.实际上我每次调用onTouch事件时都会创建一个新的对话框.但我不确定这是解决这个问题最干净的方法.

任何的想法?谢谢 :)

java android android-dialog

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