如何在java中为活动标题定义字符串数组?

如何在java中为活动标题定义字符串数组?,java,android,Java,Android,我是java新手。我正在创建android应用程序。我有一个基于教程的创建列表菜单。菜单名来自类名(MainActivity),但我想为每个活动添加标题,并在列表中显示文本而不是活动名。请看我的密码。没有布局。谢谢 包com.x.xname import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import androi

我是java新手。我正在创建android应用程序。我有一个基于教程的创建列表菜单。菜单名来自类名(MainActivity),但我想为每个活动添加标题,并在列表中显示文本而不是活动名。请看我的密码。没有布局。谢谢

包com.x.xname

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

public class Menu extends ListActivity {

    String classes [] = {"MainActivity", "example1", "example2",
            "example3", "example4", "example5", "example6"}; // add class name(MainActivity) to active second menu


    @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) {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);
        String tikla = classes [position];
        try{
        Class ourClass = Class.forName("com.x.xname." + tikla);
        Intent ourIntent = new Intent(Menu.this, ourClass);
        startActivity(ourIntent);
        } catch (ClassNotFoundException e){
            e.printStackTrace();
        }
    }

}
导入android.app.ListActivity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
公共类菜单扩展了ListActivity{
字符串类[]={“MainActivity”、“example1”、“example2”,
“example3”、“example4”、“example5”、“example6”};//将类名(MainActivity)添加到活动的第二个菜单
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setListAdapter(新的ArrayAdapter(Menu.this,android.R.layout.simple_list_item_1,classes));
}
@凌驾
受保护的void onListItemClick(列表视图l、视图v、整数位置、长id){
//TODO自动生成的方法存根
super.onListItemClick(左、右、位置、id);
字符串tikla=类[位置];
试一试{
Class-ourClass=Class.forName(“com.x.xname.”+tikla);
Intent-ourIntent=新的Intent(Menu.this,ourClass);
星触觉(ourIntent);
}catch(classnotfounde异常){
e、 printStackTrace();
}
}
}

我认为您必须在类中输入应用程序类的名称。。intent需要作为第二个参数启动的类的名称


但不清楚你在问什么..

道歉。。Java不是我的母语。

通过查看您发布的代码,
onListItemClick
将从数组中获取相应的字符串,并尝试查找一个名为任何字符串的类,然后它假定该字符串为
活动

使用名为“MenuOption”的新类数组代替字符串数组,该类包含一个title属性和另一个classname属性

class MenuOption {
    public String title;
    public String className;

    public MenuOption(String title, String className)
    {
        this.title = title;
        this.className = className;
    }
}
您的代码如下所示

MenuOption classes [] = { new MenuOption("My Main Activity Title", "MainActivity"), new MenuOption("Another Activity Title", "AnotherActivity")
然后将单击处理程序更改为如下内容

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
    MenuItem tikla = classes [position];
    try{
    Class ourClass = Class.forName("com.x.xname." + tikla.className);
    Intent ourIntent = new Intent(Menu.this, ourClass);
    startActivity(ourIntent);
    } catch (ClassNotFoundException e){
        e.printStackTrace();
    }
}

您可能还需要更改布局文件,但您尚未发布相关代码,因此我无法进一步提供帮助。

您的问题不清楚,能否提供一个示例,说明正在发生的情况以及希望发生的情况?屏幕截图?这是android应用程序上的列表菜单代码。字符串有java类。我的意思是“MainActivity”是我的java类。当我将“MainActivity”字符串更改为另一个文本时,应用程序不工作,我收到错误消息。我想是找不到该上哪门课了。我现在清楚了吗:(谢谢回复,是的,你说得对。我想显示标题而不是类名。我没有这个类的布局。有没有其他方法可以更改当前代码和活动标题。是的,你有一个布局文件..android.R.layout.simple_list_item_1-很抱歉,除非你重写你的问题,否则我无法进一步帮助你。我解决了我的问题通过使用replace tikla=tikla.replace(“Title Name”,“main activity”);感谢您的帮助:)这将不起作用。如果没有我提到的更改,您将只能在菜单中使用1个活动。很抱歉,我将该代码实现为我的代码,而不是您的代码。