如何解决如何从android java中的警报框中获取文本视图中的编辑文本值?
我想从用户那里获得一些整数值,他/她点击了一个警告框,将显示并要求输入总预算。当他/她将总预算放入警报框字段时,它将在同一活动的文本视图中显示。
解决方法
每个对话框都有一个正按钮,该正按钮有一个回调,您可以在其中从编辑文本中获取文本,例如 Edittext.getText
并将其显示为文本视图,例如 TextView.setText
。
AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
alertDialog.setTitle("Alert");
alertDialog.setMessage("Alert message to be shown");
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE,"OK",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
// your work here
textview.setText = Edittext.getText
dialog.dismiss();
}
});
alertDialog.show();
,
请参阅有关自定义对话框的主题: How to create a Custom Dialog box in android?
您可以创建具有自定义布局的自定义对话框
R.layout.budget_dialog
:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffffff">
<EditText
android:layout_width="250dp"
android:layout_height="wrap_content"
android:id="@+id/edit_budget"
android:hint="Enter budget"
android:layout_below="@+id/a"
android:layout_marginTop="20dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_marginBottom="20dp"
android:textSize="18sp"
android:textColor="#ff000000"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal" />
<Button
android:layout_width="wrap_content"
android:layout_height="30dp"
android:text="OK"
android:id="@+id/btn_dialog"
android:gravity="center_vertical|center_horizontal"
android:layout_below="@+id/text_dialog"
android:layout_marginBottom="20dp"
android:background="@drawable/btn_flat_red_selector"
android:layout_centerHorizontal="true"
android:textColor="#ffffffff" />
</RelativeLayout>
然后通过以下方式获取值:
public void showDialog(Activity activity,String msg){
final Dialog dialog = new Dialog(activity);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCancelable(false);
dialog.setContentView(R.layout.budget_dialog);
final EditText edtBudget = dialog.findViewById(R.id.edit_budget);
Button dialogButton = dialog.findViewById(R.id.btn_dialog);
dialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Get budget string value
String budget = edtBudget.getText().toString();
//Do something with your value
dialog.dismiss();
}
});
dialog.show();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。