Android Studio вылетает при попытке поиска слов в Google из TextEdit - PullRequest
0 голосов
/ 26 мая 2020

Я пишу код, в котором мне нужно найти элемент поиска Google из текстового сообщения с предыдущего экрана. Но когда я нажимаю кнопку для поиска, android studio вылетает, что я делаю не так?

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class Main2Activity extends AppCompatActivity {
    TextView name;
    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        name = findViewById(R.id.textView3);
        button = findViewById(R.id.Button2);
        String Name = getIntent().getStringExtra("text");
        name.setText(name.getText().toString()+ "" + Name);
        name.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //https://www.google.com/#q=
                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.com/#q=" + name.getText())));
            }
        });
    }
}

My cra sh stacktraces:

D / AndroidRuntime: Завершение работы ВМ E / Android Время выполнения: НЕОБХОДИМОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.example.myapplication, PID: 17740 java .lang.IllegalStateException: не удалось найти метод onClick (View) в родительском или родительском контексте для android: onClick атрибут, определенный в классе представления androidx.appcompat.widget.AppCompatButton с идентификатором 'Button2' в androidx.appcompat.app.AppCompatViewInflater $ DeclaredOnClickListener.resolveMethod (AppCompatViewInflater. java: 436) в androidx.appcompat.app.AppCompatViewInfllick (AppCompatViewInflater. java: 393) в android .view.View.performClick (View. java: 7125) в android .view.View.performClickInternal (View. java: 7102) в android .view.View.access $ 3500 (View. java: 801) в android .view.View $ PerformClick.run (View. java: 27336) в android .os.Handler.handleCallback (Handler . java: 883) при android .os. Handler.dispatchMessage (Handler. java: 100) в android .os.Looper.l oop (Looper. java: 214) в android .app.ActivityThread.main (ActivityThread. java : 7356) на java .lang.reflect.Method.invoke (собственный метод) на com. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 492) на com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 930) I / Process: отправка сигнала. PID: 17740 SIG: 9 Отключено от целевой виртуальной машины, адрес: 'localhost: 8621', транспорт: 'socket'

1 Ответ

1 голос
/ 26 мая 2020

Вы не определяете onClickListerner для своей кнопки.

Я думаю, что name.setOnClickListener должно быть button.setOnClickListener

Кстати: не используйте одно и то же имя переменной в двух разных случаях : TextView name; и String Name =.

По соглашению имена переменных должны начинаться с символа нижнего регистра

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