android携带文本从一个类到一个alertdialog
我想将文本从一个类中的edittext传递到另一个显示警报对话框的类。 我想输入edittext名称并将其放入警报对话框消息中android携带文本从一个类到一个alertdialog,android,dialog,android-edittext,alert,android-alertdialog,Android,Dialog,Android Edittext,Alert,Android Alertdialog,我想将文本从一个类中的edittext传递到另一个显示警报对话框的类。 我想输入edittext名称并将其放入警报对话框消息中 public class forum extends Activity { EditText name, place; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.lay
public class forum extends Activity {
EditText name, place;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name = (EditText) findViewById(R.id.name);
place = (EditText) findViewById(R.id.place);
二等舱
public class AlertDemo extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
/** Turn Screen On and Unlock the keypad when this alert dialog is displayed */
getActivity().getWindow().addFlags(LayoutParams.FLAG_TURN_SCREEN_ON | LayoutParams.FLAG_DISMISS_KEYGUARD);
/** Creating a alert dialog builder */
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
/** Setting title for the alert dialog */
builder.setTitle("alert");
/** Setting the content for the alert dialog */
builder.setMessage("alerting");
/** Defining an OK button event listener */
builder.setPositiveButton("alert", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/** Exit application on click OK */
getActivity().finish();
}
});
/** Creating the alert dialog window */
return builder.create();
}
您可以使用DialogFragment.setArguments&getArguments方法 示例代码如下所示 activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${packageName}.${activityClass}" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/name"
android:layout_alignBottom="@+id/name"
android:layout_alignParentLeft="true"
android:text="Name" />
<EditText
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView2"
android:layout_marginLeft="52dp"
android:ems="10"
android:inputType="textPersonName" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/place"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/name"
android:layout_below="@+id/name"
android:layout_marginTop="16dp"
android:ems="10"
android:inputType="textPersonName" />
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/place"
android:layout_alignBottom="@+id/place"
android:layout_alignParentLeft="true"
android:text="Place" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/place"
android:layout_marginTop="18dp"
android:text="ShowAlertDemo"
android:onClick="buttonClick" />
</RelativeLayout>
AlertDemo.java
package com.example.test;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.WindowManager.LayoutParams;
public class AlertDemo extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
/** Turn Screen On and Unlock the keypad when this alert dialog is displayed */
getActivity().getWindow().addFlags(LayoutParams.FLAG_TURN_SCREEN_ON | LayoutParams.FLAG_DISMISS_KEYGUARD);
/**
* Code to retreive values
*/
String name = getArguments().getString("nameText");
String place = getArguments().getString("placeText");
/** Creating a alert dialog builder */
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
/** Setting title for the alert dialog */
builder.setTitle("alert");
/** Setting the content for the alert dialog */
builder.setMessage("alerting Name:"+name+" Place:"+place);
/** Defining an OK button event listener */
builder.setPositiveButton("alert", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/** Exit application on click OK */
getActivity().finish();
}
});
/** Creating the alert dialog window */
return builder.create();
}
}
结果
在文本框中输入文本,然后单击按钮
文本从MainActivity传输到警报
package com.example.test;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.WindowManager.LayoutParams;
public class AlertDemo extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
/** Turn Screen On and Unlock the keypad when this alert dialog is displayed */
getActivity().getWindow().addFlags(LayoutParams.FLAG_TURN_SCREEN_ON | LayoutParams.FLAG_DISMISS_KEYGUARD);
/**
* Code to retreive values
*/
String name = getArguments().getString("nameText");
String place = getArguments().getString("placeText");
/** Creating a alert dialog builder */
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
/** Setting title for the alert dialog */
builder.setTitle("alert");
/** Setting the content for the alert dialog */
builder.setMessage("alerting Name:"+name+" Place:"+place);
/** Defining an OK button event listener */
builder.setPositiveButton("alert", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/** Exit application on click OK */
getActivity().finish();
}
});
/** Creating the alert dialog window */
return builder.create();
}