Вы пытаетесь получить доступ к экземплярам **xml**
до того, как они будут созданы, что приводит к сбою приложения.
Чтобы проверить вызванное из-за вашего приложения повреждение, вы можете обратиться к флажку Logcat
в свою IDE .
Поместите код создания внутри onCreate()
обратного вызова: -
package com.example.android.testapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
final TextView mShowCounter;
final Button button;
private int mCount = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mShowCounter = (TextView) findViewById(R.id.text_view_counter);
button = (Button) findViewById(R.id.toast_button);
}
public void showToast(View view) {
Toast toast = Toast.makeText(this,
R.string.toast_popup,Toast.LENGTH_LONG);
toast.show();
}
public void counterUp(View view) {
mCount++;
if(mShowCounter != null) {
mShowCounter.setText(Integer.toString(mCount));
}
}
}
У меня была такая же проблема, но я решил ее следующий:
1) Установить jdk1.8 ...
2) В AndroidStudio File-> Project Structure- > Местоположение SDK, выберите каталог, в котором находится JDK, по умолчанию Studio использует встроенный JDK, но по какой-то причине он выдает ошибку = 216.
3) Нажмите Ok.
Я думаю, что у студии Android есть 64-битная версия ядра, которая дает проблему. https://github.com/swcarpentry/windows-installer/issues/49
REASON
Это происходит потому, что на данный момент они отправляют только 64-битную JRE с Android Studio для Windows , которая производит сбои в 32-битных системах.
SOLUTION
Подробнее: https: // код. google.com/p/android/issues/detail?id=219524