Android开发,点击按钮弹出对话框的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发,点击按钮弹出对话框的问题相关的知识,希望对你有一定的参考价值。

出现的错误是

刚开始学Android开发,从网上查的代码,不知道哪里有问题,网上的好多代码都是这么写的。求指教啊!!

这里报错是代码写法有误,建议一行一行代码的写。
具体实现代码:
1.创建对象框
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("请输入"); //设置对话框标题
builder.setIcon(android.R.drawable.btn_star); //设置对话框标题前的图标

2.创建EditText输入框
final EditText edit = new EditText(context);

3.将输入框赋值给Dialog,并增加确定取消按键
builder.setView(edit);
builder.setPositiveButton("确认", new DialogInterface.OnClickListener()
@Override
public void onClick(DialogInterface dialog, int which)
Toast.makeText(context, "你输入的是: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();

);
builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
@Override
public void onClick(DialogInterface dialog, int which)
Toast.makeText(context, "你点了取消", Toast.LENGTH_SHORT).show();

);

4.设置常用api,并show弹出
builder.setCancelable(true); //设置按钮是否可以按返回键取消,false则不可以取消
AlertDialog dialog = builder.create(); //创建对话框
dialog.setCanceledOnTouchOutside(true); //设置弹出框失去焦点是否隐藏,即点击屏蔽其它地方是否隐藏
dialog.show();
参考技术A 给个例子你:
AlertDialog.Builder builder = new Builder(WelcomeActivity.this);

builder.setTitle(R.string.dialog_title);

builder.setMessage(R.string.gcm_null);

builder.setCancelable(false);

builder.setPositiveButton(android.R.string.yes, new OnClickListener()

@Override

public void onClick(DialogInterface dialog, int which)

// TODO Auto-generated method stub

dialog.dismiss();

app.exitActivity();

System.exit(0);



);

builder.create().show();
你应该是少了个create()方法本回答被提问者采纳
参考技术B create()了之后再show()、、、、、、 参考技术C 用 toast可以做弹框提示 查一下api

android开发中,点击一个按钮,周围出现三个按钮

在android开发中,点击 一个按钮A,这个按钮A的周围出现三个按钮,这个功能怎么实现?
如果可以的话,能不能让这三个按钮A围绕形成一个半圆呢?
谢谢

先把3个按钮隐藏,点击了按钮A,就显示3个按钮

我试了下,可以的

test.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="
    android:id="@+id/relativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <Button
        android:id="@+id/btA"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:text="按钮A" />
    <Button
        android:id="@+id/btB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@id/btA"
        android:text="按钮B" />
    <Button
        android:id="@+id/btD"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@id/btA"
        android:text="按钮D" />
    <Button
        android:id="@+id/btC"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/btA"
        android:layout_toLeftOf="@+id/btD"
        android:text="按钮C" />
</RelativeLayout> 
 
 TestActivity:
package com.example.androidtest;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class TestActivity extends Activity 
    private Button btA;
    private Button btB;
    private Button btC;
    private Button btD;
    private boolean isVisible = true;
    @Override
    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);
        btA = (Button) findViewById(R.id.btA);
        btB = (Button) findViewById(R.id.btB);
        btC = (Button) findViewById(R.id.btC);
        btD = (Button) findViewById(R.id.btD);
        btB.setVisibility(View.INVISIBLE);
        btC.setVisibility(View.INVISIBLE);
        btD.setVisibility(View.INVISIBLE);
        btA.setOnClickListener(new OnClickListener() 
            @Override
            public void onClick(View v) 
                if (isVisible) 
                    btB.setVisibility(View.VISIBLE);
                    btC.setVisibility(View.VISIBLE);
                    btD.setVisibility(View.VISIBLE);
                    isVisible = false;
                 else 
                    btB.setVisibility(View.INVISIBLE);
                    btC.setVisibility(View.INVISIBLE);
                    btD.setVisibility(View.INVISIBLE);
                    isVisible = true;
                
            
        );
    

追问

厉害,真的啊
我还想问一下,怎么能让按钮B、C、D与A的距离不变,就是B、C、D随着A的移动而移动?
十分感谢,我财富值总共就8个了,有的话肯定多给你一些

追答

我用的是相对位置的layout啊
A放中间,
B始终放A左边(android:layout_toLeftOf="@id/btA")
C始终放A上边(android:layout_above="@+id/btA")
D始终放A右边(android:layout_toRightOf="@id/btA")就可以了啊

追问

如果要在它们之间要一定的距离,那应该怎么做??

追答BCD三个按钮设个间隔距离就好了,前面就不写了
    <Button
        android:id="@+id/btC"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/btA"
        android:layout_marginBottom="10dp"
        android:layout_toLeftOf="@+id/btD"
        android:text="按钮C" />
    <Button
        android:id="@+id/btB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginRight="10dp"
        android:layout_toLeftOf="@+id/btA"
        android:text="按钮B" />
    <Button
        android:id="@+id/btD"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:layout_toRightOf="@+id/btA"
        android:text="按钮D" />

追问

十分感谢
不过当按钮A移动的时候其他按钮还是在原来的位置,无法始终与A保持10dp的距离
我的想法是B、C、D始终与A的距离不变,A移到哪儿,它们也跟着移到哪儿

可以只写关键的代码,我应该能看的懂

追答

你说的A移动是说改变A的位置吗?
理论上来说用相对layout
只要设定了A的位置,然后保持BCD与A是相对左上右的关系就行了啊

参考技术A 先隐藏 在显示 隐藏的时候分两种 一种是 不占空间的隐藏 一种是占空间的隐藏追问

能否详细讲解下什么是占空间的隐藏,什么是不占空间的隐藏,这两种分别在什么情况下用?
十分感谢

追答

不占用空间的以藏 就是 隐藏后 那个按钮的位置 就空出来了 占位置隐藏就是只是看不到了 但是 按钮还在那个位置

参考技术B 我觉得重新构造个新的activity,上面有3个按钮的A,B,C
原来那个activity上有一个按钮M,
然后点击M
执行的动作时intent 转到新activity
楼主觉得这样行么?
======================================================================
我也觉得 第一个回答 的 行,赞一个追问

点击后,原来的按钮M也要存在,而且在原来的activity上还有其他的组件,你这样解决的话似乎有点.....
不过还是谢谢你的回答

参考技术C 三个按钮形成一个三角形 呵呵..

以上是关于Android开发,点击按钮弹出对话框的问题的主要内容,如果未能解决你的问题,请参考以下文章

android 弹出的对话框在点击确定后消失

android 弹出的对话框在点击确定后消失

请教实现android工程中点击菜单弹出一个对话框

android 怎样设置单击一个按钮,不会重复弹出dialog

android 怎样设置单击一个按钮,不会重复弹出dialog

android开发中获取选中文字以及弹出框