Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何链接类和菜单_Java_Android_Eclipse - Fatal编程技术网

Java 如何链接类和菜单

Java 如何链接类和菜单,java,android,eclipse,Java,Android,Eclipse,我真的很难将菜单链接在一起。我要创建的应用程序是一组菜单,这些菜单指向我计划在应用程序中打开的各种站点的url链接。我创建了一个包含8个选项的列表活动菜单,还有8个包含更多选项的类。我的问题是如何将菜单链接在一起 public void onCreate(Bundle icicle) { super.onCreate(icicle); // Create an array of Strings, that will be put to our ListActivity S

我真的很难将菜单链接在一起。我要创建的应用程序是一组菜单,这些菜单指向我计划在应用程序中打开的各种站点的url链接。我创建了一个包含8个选项的列表活动菜单,还有8个包含更多选项的类。我的问题是如何将菜单链接在一起

public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    // Create an array of Strings, that will be put to our ListActivity
    String[] names = new String[] { "P", "Ch", "Le", "Le", "B", "Sk", "Awa", "Tra"};
    // Create an ArrayAdapter, that will actually make the Strings above
    // appear in the ListView
    this.setListAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_checked, names));
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    // Get the item that was clicked
    Object o = this.getListAdapter().getItem(position);
    String keyword = o.toString();
    Toast.makeText(this, "You selected: " + keyword, Toast.LENGTH_LONG)
            .show();


        }
    }
public void onCreate(捆绑冰柱){
超级冰柱;
//创建一个字符串数组,将其放入我们的ListActivity
字符串[]名称=新字符串[]{“P”、“Ch”、“Le”、“Le”、“B”、“Sk”、“Awa”、“Tra”};
//创建一个ArrayAdapter,它将实际生成上面的字符串
//显示在列表视图中
此.setListAdapter(新阵列适配器)(此,
android.R.layout.simple_list_item_checked,names));
}
@凌驾
受保护的void onListItemClick(列表视图l、视图v、整数位置、长id){
super.onListItemClick(左、右、位置、id);
//获取已单击的项目
对象o=this.getListAdapter().getItem(位置);
字符串关键字=o.toString();
Toast.makeText(您选择的“+”关键字,Toast.LENGTH\u LONG)
.show();
}
}
目前,所有这些操作都是使用toast方法打印选择,但是当我选择了p.java类时,如何让它切换到p.java类呢。在basic中,我会使用names变量,并说如果names=p goto p.java,我已经在google上搜索过了,虽然我得到了部分答案,但我不知道如何实现它


非常感谢。

我怀疑您想要的不是类,而是相关类的实例。一种方法是使用地图:

Map<String, Runner> runners = new HashMap<String, Runner>();
runners.put("P", new P());
runners.put("Ch", new Ch());
// etc.
(其中run()是要启动的方法)

更新(回应您的评论)

很难确切地说出在哪里放置哪些代码位,但根据您的问题:

您可以将runners设置为活动中的一个字段,并在相同的onCreate函数中初始化它。那部分已经处理好了

Runner接口可以如此简单(在其自己的文件中):

每个类(p、Ch、Le等)在构造函数中都有一个
实现
位:

public class P implements Runner {
并且必须包含一个run()方法(它可以简单地调用您想要为URL调用的任何现有方法): 公开募捐{ //你想在这里做什么就做什么
}

嗨,卡尔,谢谢你的回答,对不起,我是一个noob,也许我在走路之前就在跑步,但是我应该把代码放在哪里,我应该删除其他类并在同一个类中有其他菜单,或者我可以在哪里找到这样的示例,这样我就可以看到它是如何工作的
public interface Runner {
   public void run();
}
public class P implements Runner {