我一直在不懈地尝试通过按下小部件上的按钮来更新我的小部件。该小部件显示当前剩余的 RAM、CPU 级别和电池电量。
确定这些值的代码运行良好。当我按下按钮时,我无法让它更新。我试过这些方法:
Force Android widget to update - 显示了两种方法
Android: How do I force the update of all widgets of a particular kind
还有一个警报管理器
他们都没有工作。
我的小部件布局的 XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:background="@drawable/widgetbg">
<TextView android:id="@+id/widgetCPU"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/derp"
android:textSize="14sp"
android:typeface="sans"
android:textColor="@android:color/holo_blue_bright"
android:gravity="center"/>
<TextView android:id="@+id/widgetRam"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/derp"
android:textSize="14sp"
android:typeface="sans"
android:textColor="@android:color/holo_blue_bright"
android:gravity="center"/>
<TextView android:id="@+id/widgetBat"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/derp"
android:textSize="14sp"
android:typeface="sans"
android:textColor="@android:color/holo_blue_bright"
android:gravity="center"/>
<Button android:id="@+id/widgetUpdate"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send" />
</LinearLayout>
按下按钮时我想调用的方法:
public class AppWidget extends AppwidgetProvider
{
//...
public void update(Context c, AppWidgetManager a)
{
//...
}
//...
}
按下按钮时如何调用更新方法?
最佳答案
注册一个监听器,例如在你的 onCreate() 方法中:
findViewById(R.id.widgetUpdate).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
update();
}
});
关于android - 强制 Android 小部件更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14298442/