findViewById не определено - PullRequest
4 голосов
/ 24 мая 2010

Eclipse помечает findViewById (int) как неопределенное;он делал то же самое для getResources (), но мне удалось обойти это, вызвав context.getResources () (как показано ниже), и я не могу найти подобный обходной путь для findViewById.Вот код:

package com.myapp.android.MyWidget;

import android.appwidget.AppWidgetProvider;
import android.appwidget.AppWidgetManager;
import android.content.Context;
import android.content.ComponentName;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.util.Log;
import android.view.View;
import android.widget.RemoteViews;
import android.widget.Button;
import android.os.Bundle;

public class MyWidget extends AppWidgetProvider {
 private static String[] states;

 @Override
 public void onEnabled(Context context) {
  final Button button = (Button) findViewById(R.id.widget_state_button);

  states = context.getResources().getStringArray(R.array.states);
 }

Есть ли другой пакет, который мне нужно импортировать для findViewById?Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 24 мая 2010

Код работает несколько иначе, когда вы используете AppWidgets. По сути, вам нужно работать с RemoteView, а не с традиционными кнопками и findViewByIds. См. аналогичный вопрос для получения ссылок на то, как писать AppWidgets. В частности, две ссылки на учебники developer.com.

1 голос
/ 24 мая 2010

Вы расширяете AppWidgetProvider.Но метод findViewById там не реализован;findViewById определено в Активность .

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