关于Android DialogPreference的使用
2016-03-10 11:07
405 查看
DialogPreference是抽象方法,所以要自定义一个MyDialogPreference去继承它才能使用。
public class MyDialogPreference extends DialogPreference{
public MyDialogPreference(Context context) {
this(context,null);
// TODO Auto-generated constructor stub
}
public MyDialogPreference(Context context, AttributeSet attrs) {
this(context, attrs,0);
// TODO Auto-generated constructor stub
}
public MyDialogPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
// TODO Auto-generated constructor stub
}
}
preference.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="emample" >
<com.example.MyDialogPreference
android:key="myDialogPreference"
android:title="Dialog">
</com.example.MyDialogPreference>
</PreferenceCategory>
</PreferenceScreen>然后DialogPreference就可以像Dialog一样
MyDialogPreference myDialogPreference = (MyDialogPreference) findPreference("myDialogPreference");
myDialogPreference.setDialogTitle("Dialog");//设置title:
myDialogPreference.setDialogMessage("Message");//设置message
myDialogPreference.setPositiveButtonText("确定");//设置positivebutton,不过这里不能设置监听
myDialogPreference.setNegativeButtonText("取消");//同上
监听positivebutton和negativebutton:
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.preference.DialogPreference;
import android.util.AttributeSet;
public class MyDialogPreference extends DialogPreference implements OnClickListener{
public MyDialogPreference(Context context) {
this(context,null);
// TODO Auto-generated constructor stub
}
public MyDialogPreference(Context context, AttributeSet attrs) {
this(context, attrs,0);
// TODO Auto-generated constructor stub
}
public MyDialogPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
// TODO Auto-generated constructor stub
}
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
switch(which){
case Dialog.BUTTON_POSITIVE:
//dosomething
break;
case Dialog.BUTTON_NEGATIVE:
//dosomething
break;
case Dialog.BUTTON_NEUTRAL:
//dosomething
break;
}
super.onClick(dialog, which);
}
}
public class MyDialogPreference extends DialogPreference{
public MyDialogPreference(Context context) {
this(context,null);
// TODO Auto-generated constructor stub
}
public MyDialogPreference(Context context, AttributeSet attrs) {
this(context, attrs,0);
// TODO Auto-generated constructor stub
}
public MyDialogPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
// TODO Auto-generated constructor stub
}
}
preference.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="emample" >
<com.example.MyDialogPreference
android:key="myDialogPreference"
android:title="Dialog">
</com.example.MyDialogPreference>
</PreferenceCategory>
</PreferenceScreen>然后DialogPreference就可以像Dialog一样
MyDialogPreference myDialogPreference = (MyDialogPreference) findPreference("myDialogPreference");
myDialogPreference.setDialogTitle("Dialog");//设置title:
myDialogPreference.setDialogMessage("Message");//设置message
myDialogPreference.setPositiveButtonText("确定");//设置positivebutton,不过这里不能设置监听
myDialogPreference.setNegativeButtonText("取消");//同上
监听positivebutton和negativebutton:
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.preference.DialogPreference;
import android.util.AttributeSet;
public class MyDialogPreference extends DialogPreference implements OnClickListener{
public MyDialogPreference(Context context) {
this(context,null);
// TODO Auto-generated constructor stub
}
public MyDialogPreference(Context context, AttributeSet attrs) {
this(context, attrs,0);
// TODO Auto-generated constructor stub
}
public MyDialogPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
// TODO Auto-generated constructor stub
}
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
switch(which){
case Dialog.BUTTON_POSITIVE:
//dosomething
break;
case Dialog.BUTTON_NEGATIVE:
//dosomething
break;
case Dialog.BUTTON_NEUTRAL:
//dosomething
break;
}
super.onClick(dialog, which);
}
}
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories