从菜单活动中调用GPS活动

时间:2012-08-29 22:09:31

标签: java android android-layout

我的基本应用程序存在一个小问题。当我试图从List(“IIMODULE”)开始第二个位置时,我的手机没有任何反应。这是来自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示例调用了新活动:

 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>

2 个答案:

答案 0 :(得分:1)

问题是没有加载MODULE类,你是否包含了jar?

请打包c / p。

答案 1 :(得分: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的动作标签,而且对于清单中的任何应用程序都是空的