'Only white screen appears wen I run my app(using view binding) in AVD

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = DataBindingUtil.setContentView(MainActivity.this,R.layout.activity_main); setContentView(binding.getRoot()); binding.textView.setTextSize(18); for (int i = 0; i < questionBank.length;) { Questions questions = questionBank[i]; binding.textView.setText(questions.getAnswerResId()); binding.button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (questions.isAnswerTrue()) { Toast.makeText(MainActivity.this, R.string.correct_answer, Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, R.string.wrong_answer, Toast.LENGTH_SHORT).show(); } } });

        binding.button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (!questions.isAnswerTrue()) {
                    Toast.makeText(MainActivity.this, R.string.correct_answer, Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(MainActivity.this, R.string.wrong_answer, Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
    


}


Solution 1:[1]

No need for

setContentView(binding.getRoot());

DataBinding.setContentView() is enough.

Solution 2:[2]

Or u can code it Like I do. Also Im using kotlin

private lateinit var binding: ActivityMainBinding
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        val view = binding.root
        setContentView(view)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Taranmeet Singh
Solution 2 Marouan Akechtah