Я создаю диалог в своей деятельности, где диалоговое окно должно принимать 2 значения и отправляет обратно в упражнение по нажатию кнопки:
private AlertDialog.Builder blockDialog;
blockDialog=new AlertDialog.Builder(AllMachine.this);
blockDialog.setView(**R.layout.activityEnterMinutes**);
AlertDialog myDialog=blockDialog.create();
myDialog.show();
Я создал макет и использовал его через setView
как указано выше.Я попытался добавить onClickListener
в Java-файл используемого layout(EnterMinutes.java)
.Но эта логика не отражает.
Теперь мой диалог открывается правильно, но мне нужна помощь в том, как отправить значения, введенные в EditText
, в родительское действие?Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Код макета диалога
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:id="@+id/con"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/card2back"
android:orientation="vertical"
tools:context=".Final_page">
<TextView
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/colorPrimary"
android:ems="10"
android:text="@string/machinetime"
android:textAlignment="center"
android:textColor="@color/white"
android:textColorLink="@color/white"
android:textSize="25sp"
android:textStyle="bold"
tools:textAlignment="center" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:orientation="horizontal">
<EditText
android:id="@+id/edithr"
android:layout_width="66dp"
android:layout_height="50dp"
android:layout_marginStart="125dp"
android:hint="@string/hh"
android:inputType="number"
android:maxLength="2"
android:scrollbars="vertical"
android:textColorHint="@color/black"
android:textColorLink="@color/black" />
<EditText
android:id="@+id/editmn"
android:layout_width="66dp"
android:layout_height="wrap_content"
android:layout_marginEnd="125dp"
android:hint="@string/mm"
android:inputType="number"
android:maxLength="2"
android:textColorHint="@color/black"
android:textColorLink="@color/black" />
</LinearLayout>
<Button
android:id="@+id/buttonbloc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="150dp"
android:layout_marginEnd="68.5dp"
android:layout_marginBottom="10dp"
android:background="@color/colorPrimary"
android:text="@string/bloc"
android:textColor="@color/white" />
</LinearLayout>
И у меня есть код ниже в моей родительской активности, который вызывает диалог
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (h1 != 0 || m1 != 0) {
Toast.makeText(getBaseContext(), "Wait for Machine to get Free", Toast.LENGTH_LONG).show();
}
else
{
time_value=new AlertDialog.Builder(AllMachine.this);
time_value.setView(R.layout.activity_final_page);
AlertDialog nan=time_value.create();
nan.show();
}
}
});