Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android携带文本从一个类到一个alertdialog_Android_Dialog_Android Edittext_Alert_Android Alertdialog - Fatal编程技术网

android携带文本从一个类到一个alertdialog

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

我想将文本从一个类中的edittext传递到另一个显示警报对话框的类。 我想输入edittext名称并将其放入警报对话框消息中

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();
}