自定义dialog
来源:互联网 发布:java循环读取txt文件 编辑:程序博客网 时间:2024/06/11 08:08
//创建并显示dialog
1、写一个要显示的布局xml
2、写一个类继承自DialogFragment,重写onCreateView 或者onCreateDialog方法返回布局的显示
public class MyDialog extends DialogFragment {
private Button btn;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
View view = inflater.inflate(R.layout.page2, null);
return view;
}
}
3、显示出来
MyDialog myDialog = new MyDialog();
myDialog.show(getFragmentManager(), "tag");
二、实现dialog与Activity通信
1、在MyDialog中定义接口,需要的Activity实现这个接口
2、MyDialog中完成操作之后,回调Activity中的接口方法
//dialog类
public class MyDialog extends DialogFragment {
private View view;
private EditText name;
private EditText password;
// 创建dialog
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new Builder(getActivity());
view = View.inflate(getActivity(), R.layout.page2, null);
name = (EditText) view.findViewById(R.id.name);
password = (EditText) view.findViewById(R.id.password);
builder.setView(view);
builder.setPositiveButton("好了", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
ClickListner clickListner = (ClickListner) getActivity();// 回调
clickListner.onclik(name.getText().toString(), password
.getText().toString());
}
});
return builder.create();
}
// 回调接口
public interface ClickListner {
void onclik(String name, String password);
}
}
//MainActivity类
public class MainActivity extends Activity implements ClickListner {
private TextView tv;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViews();
inteData();
}
private void findViews() {
imageView = (ImageView) findViewById(R.id.imageView);
tv = (TextView) findViewById(R.id.tv);
}
private void inteData() {
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
MyDialog myDialog = new MyDialog();
myDialog.show(getFragmentManager(), "tag");
}
});
}
@Override
public void onclik(String name, String password) {
tv.setText("name: " + name + " password: " + password);
}
}
- 自定义Dialog---继承Dialog
- 自定义Dialog android Dialog
- 自定义Dialog
- 自定义Dialog
- 自定义dialog
- 自定义 Dialog
- 自定义dialog
- 自定义 dialog
- 自定义Dialog
- 自定义 Dialog
- 自定义Dialog
- 自定义dialog
- 自定义Dialog
- 自定义 Dialog
- 自定义Dialog
- 自定义Dialog
- 自定义Dialog
- 自定义Dialog
- 中缀表达式求值
- 制作Ubuntu server 12.04及新版系统安装U盘的正确方法
- HDU4763 Theme Section KMP-next应用
- Apache Cordova开发环境搭建(一)-Visual Studio
- 初学Redis(2)——用Redis作为Mysql数据库的缓存
- 自定义dialog
- 大数乘法
- STC89C52单片机串口调试(http://blog.sina.com.cn/s/blog_7cae472801015idp.html)
- [C#]第30位数字是多少
- 16年腾讯笔试模拟题
- 互动投影系统
- 《C++计时器》
- PAT (Advanced Level) Practise 1101 Quick Sort (25)
- 教育技术菅若琳