Как обновить элемент в активности в другом классе - PullRequest
0 голосов
/ 07 марта 2012

У меня проблема, когда я хочу обновить элемент в действии с помощью intent.actually, я могу получить параметры и установить элемент .. но проблема в том, что когда я не использую намерение, я использую метод для установки значения моего элемента ..это мой код

этот код я нахожусь в ChatActivity.java

/*
     * set element attribute
     */

    public void setAttr(String value){
            welcome = (TextView)findViewById(R.id.txtWelcome);
        welcome.setText("welcome " + value);
    }

и я вызываю этот код в другом классе, этот класс - ProcessChat.java

public void welcome(){

ChatActivity chat = new ChatActivity();
chat.setAttr("user");
}

когда я запускаюсь, я получаю сообщение об ошибке java.lang.null .... в чем дело ? как это можно исправить .. спасибо за ваш ответ ..

Ответы [ 2 ]

0 голосов
/ 07 марта 2012

Введите следующий код для создания нового намерения в ProcessChat

Intent i = new Intent(this, ChatActivity.class);
i.putExtra("value", "This value one for ChatActivity ");
startActivity(Intent)

Поместите этот код в метод OnCreate ChatActivity

Bundle extras = getIntent().getExtras();
if (extras == null) {
        return;
        }
// Get data via the key
String value = extras.getString(Intent.EXTRA_TEXT);
if (value != null) {
    setAttr(value)
}

OR

поставить следующий код перед welcome = (TextView)findViewById(R.id.txtWelcome)

this.setContentView(<layout>)
0 голосов
/ 07 марта 2012

Проблема в следующей строке welcome = (TextView)findViewById(R.id.txtWelcome);

findViewById используется для определения представления, а не для создания представления Я думаю, что вы вызываете этот метод перед созданием представления,поэтому он возвращает нулевой метод.Убедитесь, что представление определено, и, следовательно, findviewbyid даст вам ненулевое значение, а затем только установите любое значение.

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