Основные операции с компонентами пользовательского интерфейса в Android - PullRequest
0 голосов
/ 02 октября 2018

EDITED

Я создал простой пользовательский интерфейс в Android Studio, который требует использования кнопки, группы радиосвязи, редактирования текста и т. Д.

  1. Так что каждыйКогда я нажимаю переключатель, появляется сообщение о том, какая кнопка была нажата.
  2. Если я ввожу определенное слово в строке поиска, в моем примере «Автомобиль», и переключатель, например, находится на изображениях, диалоговое окно должно появиться с сообщением «Изображения были найдены», илиДопустим, я снова набираю «Автомобиль» и переключатель «Видео» отмечен, а в этом случае в диалоговом окне появится сообщение «Видео найдено».
  3. Если я нажму кнопку поиска, и поле поиска (EditText) будет пустым или будет какое-то другое слово (не «Автомобиль»), сообщение диалогового окна должно быть «Неудачный поиск».Таким образом, я мог решить первую проблему, моя проблема с полем «Кнопка и поиск», я не могу найти способ связать их, чтобы сравнить пользовательский ввод со словом «Автомобиль» и показать требуемое диалоговое окно.

Вот как это выглядит

enter image description here

Это то, что я пробовал до сих пор. 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()  

Не знаю, как это сделать, чтобы увидеть текущий переключатель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...