Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
sulik
1 / 1 / 0
Регистрация: 29.06.2010
Сообщений: 10
#1

Поле класса - Android

19.07.2012, 12:22. Просмотров 746. Ответов 0
Метки нет (Все метки)

Добрый день, Всем !
первый класс:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import android.app.Activity;
import android.app.IntentService;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
 
import com.google.android.gcm.GCMBaseIntentService;
 
/**
 * {@link IntentService} responsible for handling GCM messages.
 */
public class GCMIntentService extends GCMBaseIntentService {
    
    private static final String TAG = "GCMIntentService";
 
    public GCMIntentService() {
        super(GCMConfig.SENDER_ID);
    }
 
    @Override
    protected void onRegistered(Context context, String registrationId) {
        Log.i(TAG, "Device registered");
 
    }
 
    @Override
    protected void onUnregistered(Context context, String registrationId) {
        Log.i(TAG, "Device unregistered");
        
    }
 
    @Override
    // Новое сообщение от GCM
    protected void onMessage(Context context, Intent intent) {
        Bundle extras = intent.getExtras(); // Получаем экстрасы из интента
        
        if (extras.containsKey("message")) {
            String text = extras.getString("message");
            //this.setNotification(text); 
            Log.v("GCM233", text);      
            CGMActivity.setTextfromGCM(text);
        }
    }
 
    @Override
    protected void onDeletedMessages(Context context, int total) {
        Log.i(TAG, "Received deleted messages notification");
    }
 
    @Override
    public void onError(Context context, String errorId) {
        Log.i(TAG, "Received error: " + errorId);
    }
 
    @Override
    protected boolean onRecoverableError(Context context, String errorId) {
        Log.i(TAG, "Received recoverable error: " + errorId);
        return super.onRecoverableError(context, errorId);
    }
 
}
Второй класс:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
 
public class CGMActivity extends Activity {
    /** Called when the activity is first created. */
    
    public static String regId;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // Делаем проверки
        GCMRegistrar.checkDevice(this);
        GCMRegistrar.checkManifest(this);
 
        // Достаем идентификатор регистрации
        regId = GCMRegistrar.getRegistrationId(this);
        
        if (regId.equals("")) { // Если отсутствует, то регистрируемся
            GCMRegistrar.register(this, GCMConfig.SENDER_ID);
          } else {
            Log.v("GCM", "Already registered: " + regId);
          }        
    }
    
    public void setTextfromGCM(String text){
        TextView tv_id = (TextView) findViewById(R.id.tv_ID);
        tv_id.setText(text);    
    }
}
Кода происходит событие onMessage из первого класса - необходимо чтобы обновлялся TextView из Activity. Мне подсвечивается ошибка что метод setTextfromGCM должен быть static.
Если поставить static то возникает ошибка типа нельзя применять метод findViewById.

Как сделать так чтоб при срабатывании события onMessage изменялся текст в TextView ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2012, 12:22     Поле класса
Посмотрите здесь:

Стандартное поисковое поле Android
Класс: Хочу из класса WorkFiles получить доступ к функционалу класса WorkDB. Android
Android Реализация отправки данных из EditText приложения Android в поле таблицы БД под СУБД Oracle 11g и в поле БД под СУБД MSSQL
Android Вызов класса из класса
Static поле у внутреннего класса Android
Android Поле для ввода номера в формате: 38(0**)***-**-**
Как сохранять добавленное в ListView поле? Android
Клавиатура наезжает на поле ввода Android
Android Ввод данных в поле с наэкранных собственных кнопок
Android WebView белое поле снизу
Android Фрагмент и статическое поле
Android Как проверить поле на заполнение?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 03:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru