私は、ウィジェット上にあるボタンを押すだけでウィジェットが更新されるようにするために、執拗に努力してきました。ウィジェットには、現在のRAMの残量、CPUレベル、およびバッテリーの充電量が表示されます。
これらの値を決定するコードはうまく機能します。ボタンを押しても更新できません。私はこれらの方法を試しました:
Androidウィジェットを強制的に更新します-両方の方法が示されています
Android:特定の種類のすべてのウィジェットを強制的に更新するにはどうすればよいですか?
そして警報マネージャー
それらのどれも働いていません。
ウィジェットレイアウトの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)
{
//...
}
//...
}
ボタンが押されたときにupdateメソッドを呼び出すにはどうすればよいですか?