单击以上时,模拟器会打开所有活动...?

时间:2013-12-11 20:38:20

标签: java android android-activity manifest

我在这里。

我的菜单与我的活动有关。

当我运行模拟器并单击列表中最上面的项时,模拟器将打开所有列表活动。

希望有人可以帮助我..提前谢谢大家!

我的菜单.Java:

package com.jacob.eindproject;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class Menu extends ListActivity implements OnItemClickListener { 


String classes[] = { "BMI- Calculator", "Ondergewicht", "Gezond Gewicht", "Overgewicht"};

@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, classes));
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
//Positie 0 is het eerste item (dus de BMI-Calculator.)
super.onListItemClick(l, v, position, id);

switch(position)
{
case 0: 
Intent openStartingPoint = new Intent(getApplicationContext(),MainActivity.class);
startActivity(openStartingPoint);   

case 1: 
Intent openOndergewicht = new Intent(getApplicationContext(),Ondergewicht.class);
startActivity(openOndergewicht);    

case 2: 
Intent openGezondgewicht = new Intent(getApplicationContext(),Gezond_gewicht.class);
startActivity(openGezondgewicht);   

case 3: 
Intent openOvergewicht = new Intent(getApplicationContext(),Overgewicht.class);
startActivity(openOvergewicht); 

break;
}


}

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
    // TODO Auto-generated method stub

}
 }

这是我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jacob.eindproject"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >


    <activity
        android:name="com.jacob.eindproject.Menu"
        android:label="@string/app_name" >
    </activity>

    <activity
        android:name="com.jacob.eindproject.Inleiding"
        android:label="@string/app_name" >
                <intent-filter>
                        <action android:name="android.intent.action.MAIN" />
                        <category  android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
    </activity>

    <activity
        android:name="com.jacob.eindproject.MainActivity"
        android:label="@string/app_name" >
                <intent-filter>
                        <action android:name="android.intent.action.MAIN" />
                        <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
    </activity>        

    <activity
        android:name="com.jacob.eindproject.Ondergewicht"
        android:label="@string/app_name" >
                <intent-filter>
                        <action android:name="com.jacob.eindproject.activity.ONDERGEWICHT" />
                        <category android:name="android.intent.category.DEFAULT" />
                                <data android:mimeType="text/plain"/>
                </intent-filter>
    </activity>        

    <activity
        android:name="com.jacob.eindproject.Gezond_gewicht"
        android:label="@string/app_name" >
                <intent-filter>
                        <action      android:name="com.jacob.eindproject.activity.GEZOND_GEWICHT" />
                        <category android:name="android.intent.category.DEFAULT" />
                                <data android:mimeType="text/plain"/>
                </intent-filter>
    </activity>   

    <activity
        android:name="com.jacob.eindproject.Overgewicht"
        android:label="@string/app_name" >
                <intent-filter>
                        <action   android:name="com.jacob.eindproject.activity.OVERGEWICHT" />
                        <category android:name="android.intent.category.DEFAULT" />
                                <data android:mimeType="text/plain"/>
                </intent-filter>
    </activity>                         

</application>

首先,打开Inleiding,这是我的徽标,5秒后它就消失了。

之后,我希望菜单包含4个项目,1个用于MainActivity.java,这是一个BMI计算器。最后3项是信息项目,关于重量和东西。

有谁知道答案?

谢谢大家的努力。

1 个答案:

答案 0 :(得分:0)

您打开所有活动的原因是因为您在break的每个case条款末尾都没有switch个语句。您需要在每个break块的末尾添加case

此外,除了包含<intent-filter>Inleiding的第一个(CATEGORY=DEFAULT)之外,您应该删除所有活动中的ACTION=MAIN个标记。你不需要那些,他们会让你迷惑。