частные поля в андроид студии - PullRequest
0 голосов
/ 24 сентября 2019

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

Я видел другую информацию из stackoverflow и кого-то, у кого был такой же вопрос, но у него былна самом деле они не использовали свои поля, поэтому у них была ошибка, поэтому я пишу с другой точки зрения.

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

            Button falseButton; //this works
    private Button trueButton; //when i add private it then says true button field is not being used
    private TextView questionTextView; //this also gets an error when i use private

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

        falseButton.findViewById(R.id.buttonFalse);
        trueButton.findViewById(R.id.buttonTrue);
        questionTextView.findViewById(R.id.textView);

        falseButton.setOnClickListener(this);

    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.buttonFalse:
                Toast.makeText(MainActivity.this, "False", Toast.LENGTH_SHORT).show();
                break;
            case R.id.buttonTrue:
                Toast.makeText(MainActivity.this, "True", Toast.LENGTH_SHORT).show();
        }
    }
}

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

1 Ответ

0 голосов
/ 24 сентября 2019

@ Саадат решил это.это была моя вина, простая опечатка:

У меня было

falseButton.findViewById(R.id.buttonFalse);
trueButton.findViewById(R.id.buttonTrue);
questionTextView.findViewById(R.id.textView);

Но я должен был иметь = вместо.

falseButton = findViewById(R.id.buttonFalse); 
trueButton = findViewById(R.id.buttonTrue); 
questionTextView = findViewById(R.id.textView);
...