【发布时间】:2019-12-19 06:59:18
【问题描述】:
这是我点击按钮显示对话框时的样子
这是我的对话框类和 mainActivity
这是我的主要活动
public class MainActivity extends AppCompatActivity {
Button click;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
click = findViewById(R.id.click);
click.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AddUserDialog dialog = new AddUserDialog();
dialog.show(getSupportFragmentManager(), "MyCustomDialog");
}
});
}
}
这是我的 AddUserDialog
public class AddUserDialog extends DialogFragment {
public Button add;
public EditText userName, UserEmail, userPhone;
/* public ImageView addPhoto;*/
public TextView cancel;
@NonNull
protected View onCreate(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.add_user_dialog, container, false);
add = v.findViewById(R.id.button);
cancel = v.findViewById(R.id.cancel_dialog);
userName = v.findViewById(R.id.name);
UserEmail = v.findViewById(R.id.email);
userPhone = v.findViewById(R.id.phone);
/* addPhoto = v.findViewById(R.id.addPhoto);
*/
cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getDialog().dismiss();
}
});
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Snackbar.make(v, "User added", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
getDialog().dismiss();
}
});
return v;
}
}
我是否在我的场景中遗漏了什么,请告诉我,谢谢。
【问题讨论】:
-
你有什么错误吗?
-
AddUserDialog类中的方法名称应该是onCreateView(),而不是onCreate()。它也应该是public,而不是protected。使用@Override注释可能会告诉你你搞错了。 -
天啊,我是怎么做到的!!!!谢谢
-
这些天我注意力不集中:(
标签: android android-layout android-fragments dialog