Android Проблема объявления конечной переменной в студии - PullRequest
0 голосов
/ 29 марта 2020

У меня раздражающая проблема. Эти коды работали 2 дня go, но теперь говорится, что «takim1Text» должен быть объявлен окончательным и, возможно, не был инициализирован. 2 дня go Мне не нужно объявлять это окончательно. что сейчас важно? Там коды ... спасибо, кстати

Button devamButton;
    EditText takim1, takim2;
    devamButton = (Button) findViewById(R.id.devamButton);
    takim1 = (EditText) findViewById(R.id.takimA);
    takim2 = (EditText) findViewById(R.id.takimB);
    String takim1Text;
    String takim2Text;
    devamButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            takim1Text = takim1.getText().toString();
            takim2Text = takim2.getText().toString();
            if (takim2Text.equals(takim1Text)) {
                Toast toast1 = Toast.makeText(getApplicationContext(), "cant be same", Toast.LENGTH_SHORT);
                toast1.show();
            } else if (takim1Text.isEmpty() || takim2Text.isEmpty()) {
                Toast toast2 = Toast.makeText(getApplicationContext(), "cant be empty", Toast.LENGTH_SHORT);
                toast2.show();
            } else {
                Toast toast3 = Toast.makeText(getApplicationContext(), "works", Toast.LENGTH_SHORT);
                toast3.show();
            }
        }
    });

Ответы [ 2 ]

1 голос
/ 29 марта 2020

Вы должны сделать объявление глобальным, как это:

public class MainActivity extends AppCompatActivity {

protected Button btn;


String name;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.setContentView(R.layout.activity_main);
0 голосов
/ 29 марта 2020

Я решил проблему. только что сделал переменные глобальными

Button devamButton;
EditText takim1, takim2;
String takimTextA;
String takimTextB;
    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    devamButton = findViewById(R.id.devamButton);
    takim1 = findViewById(R.id.takimA);
    takim2 = findViewById(R.id.takimB);
    devamButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            takimTextA = takim1.getText().toString();
            takimTextB = takim2.getText().toString();
            if (takimTextA.equals(takimTextB)) {
                Toast toast1 = Toast.makeText(getApplicationContext(), "cant be same", Toast.LENGTH_SHORT);
                toast1.show();
            } else if (takimTextA.isEmpty() || takimTextB.isEmpty()) {
                Toast toast2 = Toast.makeText(getApplicationContext(), "cant be empty", Toast.LENGTH_SHORT);
                toast2.show();
            } else {
                Toast toast3 = Toast.makeText(getApplicationContext(), "works", Toast.LENGTH_SHORT);
                toast3.show();
            }
        }
    });
...