android - 单击操作栏菜单选项项时如何打开 EditText 视图
问题描述
我正在开发一个应用程序(在 Java 中),其中操作栏具有项目/选项的选项菜单(onCreateOptionsMenu 导致屏幕右上角的三个垂直点),因此当用户单击三个垂直点时,菜单展开,显示项目/选项列表。我希望这些项目之一在单击时打开一个 EditText 视图以使用户能够输入一些文本。我花了很多时间研究这个,但我一直无法找到它是如何完成的。有人可以提供如何实现这一目标的大纲,或者给我举个例子。
非常感谢
解决方案
创建一个dialog_layout.xml
文件并添加以下代码
<?xml version="1.0" encoding="utf-8"?>
<EditText
android:id="@+id/editTextDialog"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@drawable/edit_text_background"
android:hint="@string/about_routine_dialog_image"
android:paddingStart="5dp"
android:paddingEnd="5dp"
android:textColor="#3C3B3B"
android:inputType="number"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end">
<Button
android:id="@+id/buttonDialogSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/submit"/>
</LinearLayout>
showDialog
然后在用户单击该特定菜单项时在函数调用下方运行:
public void showDialog() {
Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.dialog_layout);
final EditText editText = dialog.findViewById(R.id.editTextDialog);
Button buttonDialog = dialog.findViewById(R.id.buttonDialogSubmit);
buttonDialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String text = editText.getText().toString(); //your text from editText
dialog.dismiss();
//do your work here
}
});
dialog.setCanceledOnTouchOutside(false);
dialog.show();
}
推荐阅读
- karate - 在空手道中执行断言时出现错误“实际值不是字符串”
- c++ - 字符数组地址和整数数组地址
- java - Spring Security 中的 authorizeRequests 有什么作用?
- javascript - setstate - 动态键值 - 覆盖不合并状态
- angular - 无法读取未定义 Angular 7 的属性“订阅”
- java - 请求的配置文件“pom.xml”无法激活,因为它不存在
- c# - 处理多个具有超时的 CancellationToken
- elasticsearch - SQL 类似于 GROUP BY AND HAVING 示例
- python - 将数字日期转换为字典中的单词
- bash - 在两个文件之间递归搜索单词并将匹配行输出为新文件