Почему андроид студия останавливает приложение при нажатии кнопки create? В коде никаких ошибок не подсвечено и оно нормально компилируется вроде
public class SmActivity extends AppCompatActivity implements View.OnClickListener {
LinearLayout llmain;
RadioGroup rjGroup;
Button clear, create;
TextView txt;
int wrapCont = LinearLayout.LayoutParams.WRAP_CONTENT;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sm);
llmain = (LinearLayout)findViewById(R.id.llMain);
rjGroup = (RadioGroup)findViewById(R.id.radioG);
create = (Button)findViewById(R.id.create);
create.setOnClickListener(this);
clear =(Button)findViewById(R.id.clear);
clear.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.create:
LinearLayout.LayoutParams IPar = new LinearLayout.LayoutParams(wrapCont, wrapCont);
int btnGrav = Gravity.LEFT;
switch (rjGroup.getCheckedRadioButtonId()){
case R.id.lleft:
btnGrav = Gravity.LEFT;
break;
case R.id.center:
btnGrav = Gravity.CENTER;
break;
case R.id.lright:
btnGrav = Gravity.RIGHT;
break;
}
IPar.gravity = btnGrav;
Button newBtn = new Button(this);
newBtn.setText(txt.getText().toString());
llmain.addView(newBtn, IPar );
break;
case R.id.clear:
llmain.removeAllViews();
Toast.makeText(this, "Удалено", Toast.LENGTH_SHORT).show();
break;
}
}
}
У вас не инициализирован txt
, когда вы вызываете newBtn.setText(txt.getText().toString());
. Соответственно, приложение падает с NPE.
Определите txt
до вызова onClick
(например в onCreate
).
P.s. здесь ошибка очевидна, но на будущее - прикладывайте к вопросу стектрейс.
Я читаю книгу и иногда в примере мы ссылаемся на переменную, а в книге описывается мол ссылаемся на объектВот эти слова:
Имеются две Entity, ссылающиеся друг на друга соответствующими полями отмеченными аннотациями
Я делаю клиент для Telegram на Java с использованием официальной библиотеки TDLib, те
Есть ли какой способ проверить что бин был создан? с помощью аннотации а не простым if