EDITED
Я создал простой пользовательский интерфейс в Android Studio, который требует использования кнопки, группы радиосвязи, редактирования текста и т. Д.
- Так что каждыйКогда я нажимаю переключатель, появляется сообщение о том, какая кнопка была нажата.
- Если я ввожу определенное слово в строке поиска, в моем примере «Автомобиль», и переключатель, например, находится на изображениях, диалоговое окно должно появиться с сообщением «Изображения были найдены», илиДопустим, я снова набираю «Автомобиль» и переключатель «Видео» отмечен, а в этом случае в диалоговом окне появится сообщение «Видео найдено».
- Если я нажму кнопку поиска, и поле поиска (EditText) будет пустым или будет какое-то другое слово (не «Автомобиль»), сообщение диалогового окна должно быть «Неудачный поиск».Таким образом, я мог решить первую проблему, моя проблема с полем «Кнопка и поиск», я не могу найти способ связать их, чтобы сравнить пользовательский ввод со словом «Автомобиль» и показать требуемое диалоговое окно.
Вот как это выглядит
Это то, что я пробовал до сих пор. EDITED
package com.example.administrator.simpleui;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
RadioGroup radioGroup;
RadioButton radioButton;
Button button;
// EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radioGroup = (RadioGroup) findViewById(R.id.radio_group);
final EditText editText = (EditText) findViewById(R.id.edit_text);
button = (Button) findViewById(R.id.myButton);
int radioId1 = radioGroup.getCheckedRadioButtonId();
radioButton = (RadioButton) findViewById(radioId1);
final AlertDialog.Builder alertDialog1 = new AlertDialog.Builder(this);
alertDialog1.setTitle("Note").setMessage("Fail search").setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(),"Ok was pressed",Toast.LENGTH_SHORT).show();
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(),"Cancel was pressed",Toast.LENGTH_SHORT).show();
}
}).create();
final AlertDialog.Builder alertDialog2 = new AlertDialog.Builder(this);
alertDialog2.setTitle("Note").setMessage(radioButton.getText() + " was found").setPositiveButton("ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(),"ok was pressed",Toast.LENGTH_SHORT).show();
}
}).setNegativeButton("cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(),"ok was pressed",Toast.LENGTH_SHORT).show();
}
}).create();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(editText.getEditableText().toString().equals("Car")) {
alertDialog2.show();
}else {
alertDialog1.show();
}
}
});
}
public void checkButton(View v){
int radioId = radioGroup.getCheckedRadioButtonId();
radioButton = (RadioButton) findViewById(radioId);
Toast.makeText(this, radioButton.getText() + " was selected",Toast.LENGTH_SHORT).show();
}
}
Так что я решил ее самостоятельно, но у меня все еще есть одна небольшая ошибка, каждый раз, когда я ищу ключевое слово Car it, в диалоговом окне появляется сообщение о значении переключателя, которыйя объявил в своем XML-файле (здесь у меня 4 переключателя: «Видео», «Изображения», «Блог» и «Часто задаваемые вопросы», и по умолчанию выбрана опция «Видео») => поэтому у меня всегда есть сообщение «Видео было найдено», но оно мне нужнопоказывать в соответствии с установленным переключателем, например, если установлен флажок «Изображения», и я набрал текст в машине, то появляется сообщение «Картинки найдены», но мой код генерируется только с видео.Проблема в этой строке:
final AlertDialog.Builder alertDialog2 = new AlertDialog.Builder(this);
alertDialog2.setTitle("Note").setMessage(radioButton.getText() + " was found").setPositiveButton("ok", new DialogInterface.OnClickListener()
Не знаю, как это сделать, чтобы увидеть текущий переключатель.