Как использовать setText () со строковым объектом в Android - PullRequest
1 голос
/ 23 февраля 2012

В приведенном ниже коде я реагирую на возврат активности.Когда я получаю правильный код и результат, я хочу поместить результат «данных» в недоступное для редактирования текстовое представление.Я попытался установить текстовое представление непосредственно для данных намерения, используя следующий код:

encodedText.setText(data.getData().toString());

Однако я получаю ошибку исключения, когда пытаюсь это сделать.Затем я попытался сделать это следующим образом (см. Стрелку):

public void onActivityResult(int requestCode, int resultCode, Intent data)
{
    if (requestCode == request_Code) {
        if (resultCode == RESULT_OK) {
            String encoded = data.getData().toString();
            TextView encodedText = (TextView) findViewById(R.id.result); 
        encodedText.setText(encoded); <------
        }            
    }
}

Я поставил точку останова в строке, на которую указывает стрелка в примере кода, и именно в этой строке возникла проблема с программойс.Я посмотрел на функцию setText () в документах textView, и я все еще не уверен, что я делаю неправильно.Кто-нибудь видит, что я не делаю?

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Вы получаете NullPointerException при попытке установить текст (encodedText.setText(encoded);), потому что ваш TextView, который вы ищете с помощью findViewById(), равен null.Проверьте свой макет, чтобы у вас было это TextView в макете и избегайте NullPointerException.

1 голос
/ 23 февраля 2012

Поскольку я предполагаю, что это в первую очередь объект String, вы можете просто разыграть его.

String encoded = (String) data.getData();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...