我想通过列表开始一个意图。 但我不希望布局文本成为意图的名称,它现在就是。我该如何定制?
这是我尝试制作它:
public class Menu extends ListActivity {
String Names[] = { "1 To 9 Tabels", "10 To 19 Tabels" };
String Classstart[] = {".First, .Second"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter <String>(Menu. this, android.R.layout.simple_list_item_1, Names));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
String Classstart = Names[position];
try {
Class ClassNames;
ClassNames = Class.forName("com.sapphire.android." + Classstart);
Intent StartIntent = new Intent(Menu. this, ClassNames);
startActivity(StartIntent);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
如果我正确理解您的代码,那么当您点击某个项目时它会崩溃,因为您启动了错误的活动。尝试将其更改为:
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
String activity = Classstart[position];
try {
Class ClassNames;
ClassNames = Class.forName("com.sapphire.android." + activity);
Intent StartIntent = new Intent(Menu. this, ClassNames);
startActivity(StartIntent);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
请注意,我只是从Classstart数组而不是Names数组中获取类名。