Ошибка принудительного закрытия при объявлении TextView и ToggleButton - PullRequest
0 голосов
/ 29 мая 2011

Ну, в принципе, у меня есть textview, и когда приложение создается, оно устанавливает строку как текст textviews не сложно, но я получаю ошибку принудительного закрытия при запуске приложения на моем телефоне.

TextView sdcard=(TextView)findViewById(R.id.sd_textview);
sdcard.setText(R.string.not_mounted);

Тогда у меня есть ошибка на кнопке переключения также

ToggleButton silent=(ToggleButton)findViewById(R.id.silentbutton);
silent.setChecked(false);

И у меня есть ошибки для всех моих других кнопок / текстовых представлений, может кто-нибудь помочь, пожалуйста?!

РЕДАКТИРОВАТЬ: я не могу опубликовать фото, потому чтоЯ новый участник :( Ссылка на imgshack http://imageshack.us/photo/my-images/849/unledggp.png/

Если код для всего фрагмента текстового просмотра.

if     (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_UNMOUNTED)) {

TextView sdcard=(TextView)findViewById(R.id.sd_textview);
sdcard.setText(R.string.not_mounted);

}

Функция OnCreate

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

checkSD();
checkRing();
checkWifi();
checkBt();

}

Ответы [ 3 ]

1 голос
/ 29 мая 2011

Найдите все экземпляры sd_textview и убедитесь, что вы ссылаетесь на TextView. Если вы хотите большей ясности, вы можете отладить свой код и посмотреть, какой объект на самом деле возвращается, не приведя к TextView:

View sdcard = findViewById(R.id.sd_textview); //debug this
//you can also log the View object to see the type 
Log.d("Test", "" + sdcard);
0 голосов
/ 29 мая 2011

Две вещи, о которых я могу подумать (хотя поможет больше кода).

Убедитесь, что вы вызвали setContentView(R.layout.main) (или как называется ваш файл макета).Делайте это ПЕРЕД любой попыткой использовать findViewById(...).

Во-вторых, sdcard.setText(R.string.not_mounted); в этом выражении R.string.not_mounted - это идентификатор ресурса (int), а не строка.Вам нужно будет использовать ...

sdcard.setText(getString(R.string.not_mounted));
0 голосов
/ 29 мая 2011

Глядя на ваш журнал ошибок (при условии, что это правильный журнал ошибок), у вас есть ClassCastException в методе checkWifi.Отредактируйте свой вопрос и включите ВСЕ метод onCreate и весь метод checkWifi, но я ожидаю, что вы используете один и тот же идентификатор для нескольких представлений.

...