Android-приложение закрывается всякий раз, когда я нажимаю на кнопку - PullRequest
0 голосов
/ 06 октября 2019

Я создаю приложение для своего проекта, в котором оно содержит макет, который открывает камеру и делает снимок, в то время как другие преобразуют текст в речь. Каждый раз, когда я нажимаю кнопку, которая перемещается к макету текста в речь, приложение закрывается. и я не могу добраться до этого макета

код преобразования текста в речь работает нормально при отдельном тестировании в новом проекте, но когда он связан как навигационная страница с помощью кнопки, он закрывает

// код java //

     public class Text extends AppCompatActivity {


     Button ak,bk;
     protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.text);
    ak=(Button)findViewById(R.id.cam);
    ak.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i=new Intent(Text.this,Camera.class);
            startActivity(i);
        }
    });
    bk=(Button)findViewById(R.id.spe);
    bk.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent k=new Intent(Text.this,Speech.class);
            startActivity(k);
        }
    });
}

// код xml //

 <RelativeLayout
    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=".major.Text">
    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <Button
        android:id="@+id/spe"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"


        android:text="text to speech"
        android:textColor="#2976d5"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/cam"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:layout_marginStart="16dp"

        android:layout_marginTop="190dp"
        android:text="camera"
        android:textColor="#2976d5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</LinearLayout>
</RelativeLayout>

// код текста в речь java класса

public class Speech extends AppCompatActivity {
    Button b1;
    EditText ed1;
    TextToSpeech t1;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ed1 = (EditText) findViewById(R.id.editText);
        b1 = (Button) findViewById(R.id.button);

        t1 = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
            @Override
            public void onInit(int status) {
                if (status != TextToSpeech.ERROR) {
                    t1.setLanguage(Locale.UK);
                }
            }
        });

        b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String toSpeak = ed1.getText().toString();
                Toast.makeText(getApplicationContext(), toSpeak, Toast.LENGTH_SHORT).show();
                t1.speak(toSpeak, TextToSpeech.QUEUE_FLUSH,null);
            }
        });
    }

    public void onPause() {
        if (t1 != null) {
            t1.stop();
            t1.shutdown();
        }
        super.onPause();
    }
}

// logcat:

     2019-10-06 20:15:53.294 20959-21006/com.example.omen.loginmajor 
     E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
     2019-10-06 20:15:53.294 20959-21006/com.example.omen.loginmajor 
     E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da

приложение продолжает закрываться вместо перехода на другую страницу

1 Ответ

0 голосов
/ 09 октября 2019

Возможно, вы можете изменить

Намерение k = новое намерение ( Text.this , Speech.class);

на

Intent k = новое намерение ( getApplicationContext () , Speech.class);

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