我在DIALOG中用自己的VIEW,但是怎么去监听里面的自己的button? 求大侠指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dialog都带button的,我觉得楼主的想法有点像自定义dialog了 public class Activity01 extends Activity { ProgressDialog m_Dialog; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Dialog dialog=new AlertDialog.Builder(Activity01.this) .setTitle("登录提示")//设置标题 .setMessage("这里需要登录!")//设置内容 .setPositiveButton("确定",new DialogInterface.OnClickListener(){//设置事件监听 public void onClick(DialogInterface dialog, int whichButton){ //点击确定,转向登录框 LayoutInflater factory=LayoutInflater.from(Activity01.this); //得到自定义对话框 final View DialogView=factory.inflate(R.layout.dialog, null); //创建对话框 AlertDialog dlg=new AlertDialog.Builder(Activity01.this) .setTitle("登陆框") .setView(DialogView)//设置自定义对话框的样式 .setPositiveButton("确定",new DialogInterface.OnClickListener() { //输入完成后,点击确定,开始登录 public void onClick(DialogInterface dialog, int which) { //输入完成后,点击确定,开始登录 m_Dialog=ProgressDialog.show ( Activity01.this, "请等待", "正在为您登录", true ); new Thread() { public void run() { try { sleep(3000); } catch(Exception e) { e.printStackTrace(); } finally { //登录结束,取消m_Dialog对话框 m_Dialog.dismiss(); } } }.start(); } }) .setNegativeButton("取消",new DialogInterface.OnClickListener() { //点击取消按钮后,退出程序 //@Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Activity01.this.finish(); } }).create();//创建 dlg.show();//显示 } }).setNeutralButton("退出", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { //点击退出按钮之后,退出程序 Activity01.this.finish(); } }).create();//创建按钮 dialog.show(); }}dialog.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/username" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:text="账号" android:gravity="left" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/username" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:scrollHorizontally="true" android:autoText="false" android:capitalize="none" android:gravity="fill_horizontal" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:id="@+id/password" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:text="密码" android:gravity="left" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/password" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:scrollHorizontally="true" android:autoText="false" android:capitalize="none" android:gravity="fill_horizontal" android:password="true" android:textAppearance="?android:attr/textAppearanceMedium" /></LinearLayout>main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /></LinearLayout> 可以在dialog里面载入一个layout然后把你的Button放到layout中 然后在XML中定义click的动作 这个试试,没在XML里面定义过事件 楼主这个不是一样么final View textEntryView = inflater.inflate(R.layout.musiclist, null); Button Button01 = (ListView) textEntryView.findViewById(R.id.Button01);Button01.setonclicklistener(new listener());class listener implements onclicklistener{} 补充下textEntryView 为dialog的view界面。其实dialog都自带了button你可以调用。你要自定义也行。。 求高手详细指教应为在Dialog里面没有setonclicklistener 楼主是不是想做一个自定义的dialog然后这个dialog里面已经有按钮了?你这自定义的dialog不是继承的 alertdialog? 这个上午没注意是实现的onClickListener,我以为还是那个Dialog的 alertDialog 如何改变列表字体的大小,请指教,急~~ 流体粒子模拟,跪求渲染方案 android开发 拨号程序 bindservice同步问题 android财付通支付 关于android平台视频解码方案的问题 json解析 android代码如何用命令把raw文件里的文件复制到system/app里面(已经root) 请问写一个instagram的小插件 Android 7.0 弹出框安装/sdcard/目录下的APK,提示解析包错误 Android模拟器好卡!!!! 泪奔求解
ProgressDialog m_Dialog;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Dialog dialog=new AlertDialog.Builder(Activity01.this)
.setTitle("登录提示")//设置标题
.setMessage("这里需要登录!")//设置内容
.setPositiveButton("确定",new DialogInterface.OnClickListener(){//设置事件监听
public void onClick(DialogInterface dialog, int whichButton){
//点击确定,转向登录框
LayoutInflater factory=LayoutInflater.from(Activity01.this);
//得到自定义对话框
final View DialogView=factory.inflate(R.layout.dialog, null);
//创建对话框
AlertDialog dlg=new AlertDialog.Builder(Activity01.this)
.setTitle("登陆框")
.setView(DialogView)//设置自定义对话框的样式
.setPositiveButton("确定",new DialogInterface.OnClickListener() {
//输入完成后,点击确定,开始登录
public void onClick(DialogInterface dialog, int which) {
//输入完成后,点击确定,开始登录
m_Dialog=ProgressDialog.show
(
Activity01.this,
"请等待",
"正在为您登录",
true
);
new Thread()
{
public void run()
{
try
{
sleep(3000);
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
//登录结束,取消m_Dialog对话框
m_Dialog.dismiss();
}
}
}.start();
}
})
.setNegativeButton("取消",new DialogInterface.OnClickListener()
{
//点击取消按钮后,退出程序
//@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Activity01.this.finish();
}
}).create();//创建
dlg.show();//显示
}
}).setNeutralButton("退出",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//点击退出按钮之后,退出程序
Activity01.this.finish();
}
}).create();//创建按钮
dialog.show();
}
}
dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:text="账号"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium"
/> <EditText
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:scrollHorizontally="true"
android:autoText="false"
android:capitalize="none"
android:gravity="fill_horizontal"
android:textAppearance="?android:attr/textAppearanceMedium"
/> <TextView
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:text="密码"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
<EditText
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:scrollHorizontally="true"
android:autoText="false"
android:capitalize="none"
android:gravity="fill_horizontal"
android:password="true"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
</LinearLayout>main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
Button Button01 = (ListView) textEntryView.findViewById(R.id.Button01);
Button01.setonclicklistener(new listener());class listener implements onclicklistener{}
应为在Dialog里面没有setonclicklistener
然后这个dialog里面已经有按钮了?
你这自定义的dialog不是继承的 alertdialog?
这个上午没注意是实现的onClickListener,我以为还是那个Dialog的