1

アプリケーション用のウィジェットを作成しようとしています。このようにしたい: ユーザーがすべてのウィジェットの中から自分のウィジェットを選択すると、リストビューが表示され、ユーザーがアイテムを選択すると、そのカテゴリのウィジェット (アプリケーションで導入されます) が表示されますが、ウィジェットを選択すると " forceClose」が発生します。コードを添付します ご協力ありがとうございます

public class WidgetConfig extends ListActivity implements OnItemClickListener { 

  AppWidgetManager awm;
  Context c;
  int awID;
  public String LS [] = {"C", "B", "A"}; 

  protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    //  setContentView(R.id.listviewfirstshow);
    setListAdapter(new ArrayAdapter<String>(this,R.layout.widget_config , LS));
    ListView lv = (ListView)findViewById(R.id.listviewfirstshow);

    lv.setOnItemClickListener(this);
    Intent i = getIntent();
    Bundle extras = i.getExtras();
    if (extras != null) {
      awID = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, 
                           AppWidgetManager.INVALID_APPWIDGET_ID);
    }
    else {
      finish ();
    }

    awm = AppWidgetManager.getInstance(c);
  }

  @Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

    RemoteViews rv = new RemoteViews(c.getPackageName() R.layout.widget);
    Intent in =  new Intent(c, WidgetLearn2Activity.class);
    PendingIntent pi = PendingIntent.getActivity(c, 0, in, 0);
    rv.setOnClickPendingIntent(arg2, pi);
    awm.updateAppWidget(awID, rv);

    Intent result = new Intent();
    result.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, awID);
    setResult(RESULT_OK, result);
    finish();

  }
}

そしてマニフェスト:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="learn.widget" android:versionCode="1" android:versionName="1.0" >
  <uses-sdk android:minSdkVersion="8" />
  <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" >
    <activity android:name=".WidgetLearn2Activity" android:label="@string/app_name" >
      <intent-filter>  
        <action android:name="android.intent.action.MAIN" />   
        <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter>
    </activity>
    <receiver android:name=".PointlessWidget" >
      <intent-filter >
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
      </intent-filter>
      <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_stuff" />
    </receiver>
    <activity android:name=".WidgetConfig" android:label="@string/app_name">
      <intent-filter >
        <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
      </intent-filter>
    </activity>
  </application>
</manifest>
4

0 に答える 0