我开始学习安卓程序设计而且我已经卡住了,我不确定如何使用listadapter,(应用程序应该是私人教练,你可以选择3项活动)喜欢类型的训练,家庭或健身房和强度,根据你的选择,它应该显示练习)我已经设置了一个列表,点击这两个选项之一,创建下一个活动的路径但是,在代码中看到的意图,活动名称与列表中显示为文本的名称不同。我觉得我的逻辑在这里失败了,但除了elses之外,我找不到办法做到这一点。 (也许通过按钮或某种类型和onclicklisteners的任何视图来执行此操作会更容易)
第二件事,如果在java中以这种方式编程,我可以移动列表的位置和列表中的文本(例如中间)吗?就像在带有填充或其他东西的xml中一样?感谢
public class WorkoutPlace extends ListActivity {
String classes[] = { "WORKOUTHOME" , "WORKOUTGYM" };
// these should be "HOME Workout", "GYM Workout"
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(WorkoutPlace.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 Home_Gym = classes[position];
try{
Class ourClass = Class.forName("totaltrainer.com." + Home_Gym);
Intent ourIntent = new Intent(WorkoutPlace.this, ourClass);
startActivity(ourIntent);
}catch(ClassNotFoundException e){
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
定义一个包含实际类的并行数组,如下所示:
String classes[] = { "HOME Workout" , "GYM Workout" };
Class actualClasses[] = { totaltrainer.com.WORKOUTHOME.class,
totaltrainer.com.WORKOUTGYM.class };
在onListItemClick()
执行:
Intent ourIntent = new Intent(WorkoutPlace.this, actualClasses[position]);
startActivity(ourIntent);
注意:您确实应该更改类的名称,以便它们不是全部大写。使用WorkoutGym
代替WORKOUTGYM
。