我有2个关于小部件更新的问题
我第一次打开小部件时会调用onUpdate方法,但它再也不会调用它。我需要每2秒更新一次小部件,我在xml中有这一行。
机器人:updatePeriodMillis = “2000”
我是否需要服务,或者它是否只适用于updatePeriodMillis标签?
onUpdate方法
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.newswidget);
Intent intent = new Intent(context, DetalleConsulta.class);
intent.putExtra(DetalleConsulta.CONSULTA_ID_NAME, "3");
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.btNews, pendingIntent);
/* Inicializa variables para llamar el controlador */
this.imei = ((TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();
this.controlador = new Controlador(this.imei);
try {
this.respuestas = this.controlador.recuperarNuevasRespuestas();
if(this.respuestas != null && this.respuestas.size() > 0){
Iterator<Consulta> iterRespuestas = this.respuestas.iterator();
views.setTextViewText(R.id.btNews, ((Consulta)iterRespuestas.next()).getRespuesta());
}
} catch (PersistenciaException e) {
//TODO manejar error
}
appWidgetManager.updateAppWidget(appWidgetIds, views);
答案 0 :(得分:1)
Handling User Interaction with Android App Widgets
我尝试了它并且有效。
我希望这有助于其他人!!!
答案 1 :(得分:0)
是的,因为甜甜圈(1.6)以避免你的电池很快就会消耗掉了。
嘿大卫下次尝试将你的另一个问题放在不同的线程中以符合stackoverflow.com =)
从另一个按钮更新文字......
final Button btn1 = (Button) this.findViewById(R.id.Button01);
final Button btn2 = (Button) this.findViewById(R.id.Button02);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
btn2.setText("Button1 changed your text!");
}
});