андроид студия 2.3 у меня проблемы с textview, результат не отображается - PullRequest
0 голосов
/ 02 февраля 2019

с использованием двух кнопок: одна для сложения, другая для вычитания и текстовое представление для отображения чисел, но когда я запускаю эту программу, текстовое представление не показывает числа, как после нажатия кнопки добавления, значение должно быть 1, когда я использую кнопки и кодЯва выглядит хорошо

Я пытался изменить их имена, но он не работает

вот код Java

package com.example.junaid;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    Button mns, pls;
    TextView tv;
    int counter;
    EditText ed;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mns = (Button) findViewById(R.id.minuss);
        pls = (Button) findViewById(R.id.pluss);
        tv = (TextView) findViewById(R.id.textView2);
        counter = 0;
        mns.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                counter--;
                tv.setText("Your Total is" + counter);
            }
        });
        pls.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                counter++;
                tv.setText("Your Total is" + counter);
            }
        });
    }
}

и код XML

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".MainActivity"
    tools:showIn="@layout/activity_main">

    <Button
        android:id="@+id/pluss"
        android:layout_width="259dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="8dp"
        android:text="Add"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView2" />

    <Button
        android:id="@+id/minuss"
        android:layout_width="257dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="36dp"
        android:layout_marginEnd="8dp"
        android:text="Subtract"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/pluss"
        tools:ignore="MissingConstraints" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="257dp"
        android:layout_height="84dp"
        android:layout_marginTop="8dp"
        android:text="Your Total is"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Попробуйте это:

mns.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) {
String oldStr = tv.getText().tostring();
Int oldVal = Integer.parseInt(oldStr);
Int newVal = oldVal - 1;
String newStr = String.valueOf(newVal);
tv.setText("Your Total is" + newStr);
} 
});

pls.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) {
String oldStr = tv.getText().tostring();
Int oldVal = Integer.parseInt(oldStr);
Int newVal = oldVal + 1;
String newStr = String.valueOf(newVal);
tv.setText("Your Total is" + newStr);
 } 
});
0 голосов
/ 02 февраля 2019

Попробуйте таким образом,
Вы не установили начальное значение в текстовом представлении как 0.
1. Установите начальное значение в текстовом представлении как 0 (ноль).
2. на каждом +/-нажмите, сначала получите данные из текстового представления в целочисленном формате.
3. выполните +/- операцию над ним.Как + 1 или a-1
4. сохранить вывод в textview.
Готово.

...