Android Studio остановка приложения

177
18 апреля 2019, 13:10

Почему андроид студия останавливает приложение при нажатии кнопки 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;
    }
}

}

Answer 1

У вас не инициализирован txt, когда вы вызываете newBtn.setText(txt.getText().toString());. Соответственно, приложение падает с NPE.

Определите txt до вызова onClick (например в onCreate).

P.s. здесь ошибка очевидна, но на будущее - прикладывайте к вопросу стектрейс.

READ ALSO
В Java всё объекты?

В Java всё объекты?

Я читаю книгу и иногда в примере мы ссылаемся на переменную, а в книге описывается мол ссылаемся на объектВот эти слова:

155
Оптимизировать код по сохранению Entity

Оптимизировать код по сохранению Entity

Имеются две Entity, ссылающиеся друг на друга соответствующими полями отмеченными аннотациями

161
Telegram API получить список чатов

Telegram API получить список чатов

Я делаю клиент для Telegram на Java с использованием официальной библиотеки TDLib, те

134
Проверить что bean был создан и не null

Проверить что bean был создан и не null

Есть ли какой способ проверить что бин был создан? с помощью аннотации а не простым if

160