Android Manifest,菜单不起作用

时间:2014-03-01 16:22:13

标签: java android android-manifest

所以,在我的应用程序中,我有一个开始屏幕图像+声音,它会持续2秒,然后进入菜单。菜单项如下所示:

<activity
     android:name=".helloWorld"
     android:label="@string/app_name">
        <intent-filter>
            <action android:name="ro.dixy.Boston_Tutorial_App.HELLOWORLD"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
</activity>

在我的Menu.java文件中,我有以下代码行:

protected void onListItem(ListView l, View v, int position, long id)
{

    super.onListItemClick(l,v,position,id);
    String test = classes[position];
    try
    {
        //Selectare meniu in functie de nume(pozitie)
        Class ourClass = Class.forName("ro.dixy.Boston_Tutorial_App." + test);
        Intent ourIntent = new Intent(Menu.this, ourClass);
        startActivity(ourIntent);
    }
        catch(ClassNotFoundException e)
    {
        e.printStackTrace();
    }
}

当我点击“类”中的菜单时它没有做任何事情。

我是Android的新手,我正在尝试从波士顿教程中学习它。

告诉我你是否还需要其他东西。谢谢。

LE

Menu.java

public class Menu extends ListActivity
{
//Nume Meniuri
String classes[] = {"helloWorld","TextPlay","example2","example3","example4","example5"};

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    //ListAdapter pentru ListActivity
    setListAdapter(new ArrayAdapter<String>(Menu.this, android.R.layout.simple_list_item_1, classes));
}

protected void onListItem(ListView l, View v, int position, long id)
{

    super.onListItemClick(l, v, position, id);
    String test = classes[position];
    try
    {
        //Selectare meniu in functie de nume(pozitie)
        Class ourClass = Class.forName("ro.dixy.Boston_Tutorial_App." + test);
        Intent ourIntent = new Intent(Menu.this, ourClass);
        startActivity(ourIntent);
    }
    catch(ClassNotFoundException e)
    {
        e.printStackTrace();
    }
}

}

3 个答案:

答案 0 :(得分:0)

我认为您使用startActivity方法时遇到问题。此方法应具有intent,并且此意图应在其构造函数中具有应用程序Contextjava类。如下

Intent ourIntent = new Intent(context, MyActivity.class);
startActivity(ourIntent);

确保您传递了正确的context和正确的class路径

答案 1 :(得分:0)

您正在定义列表适配器,但事件侦听器在哪里?我没有看到一个。

示例:

imgLogo = (ImageView) findViewById(R.id.imgLogo);

    // set up listeners         
    imgLogo.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        // put your code here

        });

答案 2 :(得分:0)

发现我的错误。这是一个很好的代码:

@Override
protected void onListItemClick(ListView l, View v, int position, long id)
{ 
    //your code here
}