まず第一に、私は英語が下手で、Android を初めて使用するため、申し訳ありません。問題があります。Android で電卓ウィジェットを使用したいのですが、コードが機能しません。私は最初にidnameがbuttun1であるボタンを1つだけクリックしてボタンを適用します。私のコードが私を助けてください。ありがとう。
package widgetcalculator;
import com.example.widgetcalculator.R;,
public class Calculator extends AppWidgetProvider {
RemoteViews rmViews;
ComponentName cmName;
AppWidgetManager appWidgetManager;
public static String WIDGET_BUTTON = "com.example.widgetcalculator.button1";
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
rmViews = new RemoteViews(context.getPackageName(),R.layout.main);
appWidgetManager = this.appWidgetManager;
Intent intent = new Intent(WIDGET_BUTTON);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
rmViews.setOnClickPendingIntent(R.id.button1, pendingIntent );
}
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
super.onReceive(context, intent);
RemoteViews rmViews=new RemoteViews(context.getPackageName(),R.layout.main);
if (WIDGET_BUTTON.equals(intent.getAction())) {
//your code here
rmViews.setTextViewText(R.id.textView1, "1");
cmName = new ComponentName(context, Calculator.class);
appWidgetManager.updateAppWidget(cmName, rmViews);
}
}
}
そして私のmainfest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.widgetcalculator"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<receiver android:name=".Calculator" android:label="@string/app_name">
<intent-filter>
<action android:name="com.example.widgetcalculator.button1" />
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />,
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widget" />
</receiver>
</application>
そして私のレイアウト/ main.xml ファイル
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="60dp"
android:text="0"
android:textAppearance="?android:attr/textAppearanceLarge" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3" />
<Button
android:id="@+id/buttontop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4" />
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5" />
<Button
android:id="@+id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="6" />
<Button
android:id="@+id/buttoncik"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="7" />
<Button
android:id="@+id/button8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="8" />
<Button
android:id="@+id/button9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="9" />
<Button
android:id="@+id/buttoncarp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="x" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/buttonsil"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="C" />
<Button
android:id="@+id/button0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0" />
<Button
android:id="@+id/buttonnokta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="."
android:textStyle="bold" />
<Button
android:id="@+id/buttonbol"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="%" />
</LinearLayout>
</LinearLayout>