2019 May 19.
https://www.ipentec.com/document/android-custom-dialog-using-dialogfragment-return-value より
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textViewPhrase"
android:layout_width="0dp"
android:layout_height="66dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.118" />
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textViewPhraseLabel"
android:layout_width="132dp"
android:layout_height="27dp"
android:text="Input text"
app:layout_constraintBottom_toTopOf="@+id/editTextPhrase"
tools:layout_editor_absoluteX="8dp" />
<EditText
android:id="@+id/editTextPhrase"
android:layout_width="381dp"
android:layout_height="52dp"
android:layout_marginTop="268dp"
android:ems="10"
android:inputType="text"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="8dp" />
<Button
android:id="@+id/buttonOK"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="52dp"
android:layout_marginEnd="8dp"
android:text="OK"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextPhrase" />
</android.support.constraint.ConstraintLayout>
MainActivity.java
InputTextDialogFragment.java
https://www.ipentec.com/document/android-custom-dialog-using-dialogfragment-return-value より
[activity_main.xml]
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textViewPhrase"
android:layout_width="0dp"
android:layout_height="66dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.118" />
</android.support.constraint.ConstraintLayout>
[input_text_dialog.xml]
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textViewPhraseLabel"
android:layout_width="132dp"
android:layout_height="27dp"
android:text="Input text"
app:layout_constraintBottom_toTopOf="@+id/editTextPhrase"
tools:layout_editor_absoluteX="8dp" />
<EditText
android:id="@+id/editTextPhrase"
android:layout_width="381dp"
android:layout_height="52dp"
android:layout_marginTop="268dp"
android:ems="10"
android:inputType="text"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="8dp" />
<Button
android:id="@+id/buttonOK"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="52dp"
android:layout_marginEnd="8dp"
android:text="OK"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextPhrase" />
</android.support.constraint.ConstraintLayout>
MainActivity.java
package YOUR.PACKAGE; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends AppCompatActivity { boolean is1stRun = true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if ( is1stRun ) { // get text by dialog InputTextDialogFragment cdf = new InputTextDialogFragment(); cdf.show(getSupportFragmentManager(),"dialog"); is1stRun = false; } } public void onReturnValue(String value) { TextView textViewPhrase = (TextView)findViewById(R.id.textViewPhrase); textViewPhrase.setText(value); } }
InputTextDialogFragment.java
package YOUR.PACKAGE; import android.app.Dialog; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.EditText; public class InputTextDialogFragment extends DialogFragment { EditText editTextPhrase; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog dialog = new Dialog(getActivity()); dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN); dialog.setContentView(R.layout.input_text_dialog); editTextPhrase = (dialog.findViewById(R.id.editTextPhrase)); dialog.findViewById(R.id.buttonOK).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String textPhrase = editTextPhrase.getText().toString(); MainActivity callingActivity = (MainActivity) getActivity(); callingActivity.onReturnValue(textPhrase); dismiss(); } }); return dialog; } }
0 件のコメント:
コメントを投稿