С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Поле класса - Программирование Android

19.07.2012, 12:22. Просмотров 796. Ответов 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 ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2012, 12:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поле класса (Программирование Android):

Static поле у внутреннего класса - Программирование Android
Есть класс, скажем Building, в нем есть еще один класс, скажем Floor. И вот этот Building хранит несколько экземпляров класса Floor. Что...

Класс: Хочу из класса WorkFiles получить доступ к функционалу класса WorkDB. - Программирование Android
Есть 3 класса: MainActivity, WorkDB и WorkFiles. Хочу из класса WorkFiles получить доступ к функционалу класса WorkDB. Файл...

Как изменить Textview из другого класса (класса адаптера RecyclerView) - Программирование Android
У меня есть список RecyclerView тоесть этот файл Basket и файл что реализует cardwiew BasketAdapter. как мне изменить TextView allPrice из...

Реализация отправки данных из EditText приложения Android в поле таблицы БД под СУБД Oracle 11g и в поле БД под СУБД MSSQL - Программирование Android
всем доброго времени суток! Читаю и изучаю мануалы и уроки по разработке ПО под Андройд. вообщем постоянно крутиться мысль в голове,...

Вызов класса из класса - Программирование Android
Здравствуйте есть класса Session_stud: public class Session_stud { public static class kurt extends AsyncTask<String, Void,...

Только константное статическое поле НЕ МОЖЕТ быть поле членом класса ! - C++
class CCoords { static const float rate = 1.0f; // ОШИБКА !!! bool IsComputed; float x,y; POINT2D ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2012, 12:22
Привет! Вот еще темы с ответами:

Статическое поле абстрактного класса в как наследуемое поле и преведение его типа - C#
public abstract class BaseManager : BaseClass { public static BaseManager Instance { get; private set; } public...

MFC: 2 класса, невозможно объявить поле в классе 2 типа первого класса. - Visual C++
Подскажите, пожалуйста, в чем ошибка Есть 1 й класс: class time { int h; int m; }

Можно ли сделать поле класса параметром функции-члена этого же класса? - C++/CLI
Здраствуйте. ref class MyClass { private: int i, j; array<array<int>^>^ X1; array<array<int>^>^ X2; public: ...

Поле класса содержит массив объектов другого класса - C#
Добрый день. Есть класс Queue,который как поле содержит массив объектов на класс Pers. public class Queue { private...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.