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是相对左上右的关系就行了啊
能否详细讲解下什么是占空间的隐藏,什么是不占空间的隐藏,这两种分别在什么情况下用?
十分感谢
不占用空间的以藏 就是 隐藏后 那个按钮的位置 就空出来了 占位置隐藏就是只是看不到了 但是 按钮还在那个位置
参考技术B 我觉得重新构造个新的activity,上面有3个按钮的A,B,C原来那个activity上有一个按钮M,
然后点击M
执行的动作时intent 转到新activity
楼主觉得这样行么?
======================================================================
我也觉得 第一个回答 的 行,赞一个追问
点击后,原来的按钮M也要存在,而且在原来的activity上还有其他的组件,你这样解决的话似乎有点.....
不过还是谢谢你的回答
以上是关于Android开发,点击按钮弹出对话框的问题的主要内容,如果未能解决你的问题,请参考以下文章
android 怎样设置单击一个按钮,不会重复弹出dialog