Android自定义AlertDialog的控件获取操作
在自定义的AlertDialog布局虽然可以显示,但是试过很多方法都不能获得其中的控件进行操作,找了很多方法最后这种方法可以.
dialog的布局: dialog.xml
<LinearLayout
android:orientation="vertical"
android:layout_width="300dp"
android:layout_gravity="center"
android:layout_height="200dp">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="操作"
android:layout_marginTop="5dp"
android:gravity="center_horizontal"
android:id="@+id/option"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确定"
android:gravity="center_horizontal"
android:id="@+id/confirm"/>
</LinearLayout>
在activity或者fragment中:
final Dialog alertDialog = new AlertDialog.Builder(getActivity()).
setTitle("选择时间").
create();
alertDialog.show();
Window window = alertDialog.getWindow();
window.setContentView(R.layout.dialog);
Button option = (Button)window.findViewById(R.id.option);
Button confirm = (Button)window.findViewById(R.id.confirm);
option.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "点击了操作按钮", Toast.LENGTH_LONG).show();
}
});
confirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "确定", Toast.LENGTH_LONG).show();
alertDialog.dismiss();
}
});