0

基本的なアプリに小さな問題があります。リスト ("IIMODULE") から 2 番目の位置を開始しようとすると、電話に反応がありません。LogCat からのログは次のとおりです。

System.err(3416): java.lang.ClassNotFoundException: com.example.aplikacjatestowa.IIMODULE

このエラーについてはほとんど調査していませんでしたが、私のケースに固有のものは何も見つかりませんでした。誰でも私の間違いを見ることができますか?何か案は?

メニュークラス:

public class Menu extends ListActivity {

String[] mainMenuStrings = { "MAINACTIVITY", "IIMODULE", "III_Module",
        "empty" };

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setListAdapter(new ArrayAdapter<String>(Menu.this,
            android.R.layout.simple_list_item_1, mainMenuStrings));

}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);

    String localSelector = mainMenuStrings[position];

    Class ourClass;
    try {
        ourClass = Class.forName("com.example.aplikacjatestowa."
                + localSelector);
        Intent ourIntent = new Intent(Menu.this, ourClass);
        startActivity(ourIntent);
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

}

}

そして、GPS の例で新しい Activity を呼び出します。

 public class GpsModule extends Activity {

    public static Context cont;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.gps);
        cont = getApplicationContext();

        LocationManager locManager = (LocationManager) getSystemService(LOCATION_SERVICE);
        LocationListener locListener = new MyLocationListener();
        locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
                locListener);
    }

}

AndroidManifest は次のとおりです。

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.aplikacjatestowa"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="4"
        android:targetSdkVersion="15" />
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".Splash"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".Menu"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="com.example.aplikacjatestowa.MENU" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity
           android:name=".MainActivity"
           android:label="@string/title_activity_main" >
            <intent-filter>
               <action android:name="com.example.aplikacjatestowa.MAINACTIVITY" />
               <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity
           android:name=".GpsModule"
           android:label="@string/title_activity_main" >
            <intent-filter>
               <action android:name="com.example.aplikacjatestowa.IIMODULE" />
               <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
</application>

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
4

2 に答える 2

1

問題は、IIMODULE クラスがロードされていないことです。jar を含めましたか?

パッケージも c/p してください。

于 2012-08-29T22:14:21.697 に答える
1

存在しないクラスを取得しようとしています。

 ourClass = Class.forName("com.example.aplikacjatestowa."+ localSelector);
 Intent ourIntent = new Intent(Menu.this, ourClass);

上記のコードの使用の代わりに

Intent ourIntent = new Intent("com.example.aplikacjatestowa."+ localSelector)

ただし、まだ III_Module のアクション タグはなく、マニフェスト内のアプリは空です。

于 2012-08-29T22:16:25.690 に答える