Тост сообщение не видно \ всплывающее в андроид - PullRequest
0 голосов
/ 15 июня 2019

Я создаю приложение для Android на Java, где IDE - это Android Studio.Это приложение получает два числовых значения из EditText, и суммирование этих чисел будет показано в сообщении Toast при нажатии кнопки.

Ниже приведен XML-код для ссылки (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <EditText
            android:id="@+id/editText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"/>

        <EditText
            android:id="@+id/editText2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"/>

        <Button
            android:id="@+id/button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Sum" />
</LinearLayout>

Ниже приведен Java-код для ссылки (MainActivity.java)

import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Button;
import android.widget.Toast;
import android.content.Context;

public class MainActivity extends Activity {
private EditText ed1, ed2;
private Button b1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    public void addButtonListener(){
        ed1 = (EditText)findViewById(R.id.editText);
        ed2 = (EditText)findViewById(R.id.editText2);
        b1 = (Button)findViewById(R.id.button);

        b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String value1 = ed1.getText().toString();
                String value2 = ed2.getText().toString();
                int a = Integer.parseInt(value1);
                int b = Integer.parseInt(value2);
                int sum = a + b;
                Context context = getApplicationContext();
                System.out.println(String.valueOf(sum));
                Toast toast = Toast.makeText(context,String.valueOf(sum),Toast.LENGTH_LONG);
                toast.show();
            }
        });
    }
}

Я устанавливаю это приложение на устройство Android для тестирования.

Моя проблема в том, что я не получаю ни одного тостного сообщения или уведомления, когда нажимаю кнопку Sum при добавлении двух значений.

Я также включил Уведомление в своемНастройки.

Ответы [ 3 ]

1 голос
/ 15 июня 2019
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Button;
import android.widget.Toast;
import android.content.Context;

public class MainActivity extends Activity {
private EditText ed1, ed2;
private Button b1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    addButtonListener();

}

public void addButtonListener(){
    ed1 = (EditText)findViewById(R.id.editText);
    ed2 = (EditText)findViewById(R.id.editText2);
    b1 = (Button)findViewById(R.id.button);

    b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String value1 = ed1.getText().toString();
            String value2 = ed2.getText().toString();
            int a = Integer.parseInt(value1);
            int b = Integer.parseInt(value2);
            int sum = a + b;
            Context context = getApplicationContext();
            System.out.println(String.valueOf(sum));
            Toast toast = Toast.makeText(context,String.valueOf(sum),Toast.LENGTH_LONG);
            toast.show();
            }
        });
    }
}
1 голос
/ 15 июня 2019

Причина, по которой вы не видите ни одного сообщения или уведомления Toast, заключается в том, что прослушиватель щелчков находится внутри addButtonListener() метода.

Пока все хорошо, но вы забыли вызвать этот метод, поэтому он не останетсяиспользуется, и clickListener для вашей кнопки не будет создан, поэтому, когда вы нажмете кнопку, вы не увидите Ant Toast Message или Notification.

Если вы хотите это исправить, просто вызовите этот метод внутри onCreate/ onStart(), например:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    addButtonListener(); // now you will see your Toast
}
1 голос
/ 15 июня 2019

Вызовите этот метод в методе oncreate addButtonListener ();

...