У меня есть resulttextview, который показывает результат вычисления. Я хотел бы передать значение this resulttextview, чтобы оно отображалось в тосте.

У меня есть этот код: Toast.makeText(MyCalcActivity.this,message, Toast.LENGTH_LONG).show();

Но этот код показывает значение firstnumberTxt, где вместо этого я ввожу первое число, которое нужно вычислить. :(

Button plusBtn = (Button) findViewById(R.id.plusButton1);
plusBtn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        EditText inputOne = (EditText) findViewById(R.id.firstnumberTxt);
        String message = inputOne.getText().toString();

        EditText inputTwo = (EditText) findViewById(R.id.secondnumberTxt);
        String message2 = inputTwo.getText().toString();


        int first = Integer.parseInt(message);
        int second = Integer.parseInt(message2);

        int sum = first + second;
        TextView resultTxt = (TextView) findViewById(R.id.resultTextview);
        resultTxt.setText("Result is  " + sum);

        Toast.makeText(MyCalcActivity.this, message, Toast.LENGTH_LONG).show();
    }
});
}

Есть ли способ сделать это, пожалуйста?

-3
Zu5ar 25 Апр 2014 в 00:20

4 ответа

Лучший ответ

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

     //Actual toast
        Toast.makeText(MyCalcActivity.this, message, Toast.LENGTH_LONG).show();
    // Exaplaining toast
        Toast.makeText(1, 2, 3).show();
  • В первом параметре 1 это действие, при котором тост будет показано. Как вы видите в своем коде, именно MyCalcActivity.this означает, что это ваша текущая деятельность из-за ввода this.

  • Во втором параметре 2 это то, что вы хотите показать. Посмотрите в своем коде, который вы использовали message, и из вашего кода мы можем узнать, что сообщение - это string, имеющее значение имеющегося у вас editText, которое называется inputOne . Но ты же этого не хочешь, правда? Вам нужно значение textView resultTxt, так почему вы используете message ?! Замените message на resultText.getText(), чтобы получить желаемое значение textview.

  • В последнем параметре, который равен 3. Это длина toast message. Как долго ты этого хочешь? Вот для чего это нужно. В вашем коде он установлен для длинного тостового сообщения, которое, я думаю, составляет около 3 секунд. Если вы хотите более короткий, используйте Toast.LENGTH_SHORT или другую продолжительность.

В конце концов, это ваш желаемый код.

Toast.makeText(MyCalcActivity.this, resultTxt.getText().toString(), Toast.LENGTH_LONG)
.show();

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

0
Community 24 Апр 2014 в 21:34

Сначала вы вызываете сообщение в тосте

Toast.makeText(MyCalcActivity.this, message, Toast.LENGTH_LONG).show();

Вместо того, чтобы отображать значение суммы в тосте do,

Toast.makeText(MyCalcActivity.this, sum, Toast.LENGTH_LONG).show();

Или, если вы хотите отобразить значение в resultTextView, выполните

 Toast.makeText(MyCalcActivity.this, resultText.getText().toString(), Toast.LENGTH_LONG).show();
0
artist 24 Апр 2014 в 23:05

Прямо сейчас вы помещаете сообщение в тост, значение «firstnumberTxt», вместо того, чтобы использовать результат, который вы только что закончили вычислять.

Все, что вам нужно сделать, это использовать результат в тосте:

Toast.makeText(MyCalcActivity.this, sum, Toast.LENGTH_LONG).show();

Вы также можете пройти долгий путь и получить то, что находится в TextView:

Toast.makeText(MyCalcActivity.this, resultText.getText().toString(), Toast.LENGTH_LONG).show();
0
royn1 25 Апр 2014 в 05:52
Button plusBtn = (Button) findViewById(R.id.plusButton1);
plusBtn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        EditText inputOne = (EditText) findViewById(R.id.firstnumberTxt);
        String message = inputOne.getText().toString();

        EditText inputTwo = (EditText) findViewById(R.id.secondnumberTxt);
        String message2 = inputTwo.getText().toString();


        int first = Integer.parseInt(message);
        int second = Integer.parseInt(message2);

        int sum = first + second;
        TextView resultTxt = (TextView) findViewById(R.id.resultTextview);


        resultTxt.setText(String.valueOf(sum));

        Toast.makeText(MyCalcActivity.this,"Result is" + resultTxt, Toast.LENGTH_LONG).show();
    }
});
}
0
Tushar Narang 25 Апр 2014 в 06:17