Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.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
Android 向用户呈现列表的最佳方式是什么?列表中的每个项目在选中时都会启动一项活动?_Android_List_Android Activity_Android Intent - Fatal编程技术网

Android 向用户呈现列表的最佳方式是什么?列表中的每个项目在选中时都会启动一项活动?

Android 向用户呈现列表的最佳方式是什么?列表中的每个项目在选中时都会启动一项活动?,android,list,android-activity,android-intent,Android,List,Android Activity,Android Intent,我使用的是我的第一个Android应用程序,我使用的是时间表,所以细节和示例将非常有用,因为我的知识仍然很少 我希望我的第一个屏幕向用户显示一个活动列表,供用户选择。在我的情况下,它是一个食谱应用程序,用户首先选择食物类型,如牛肉、鸡肉或猪肉。我希望应用程序根据用户单击的列表项启动活动 我不确定是否应该使用列表视图、文本视图、滚动视图、列表活动、活动组。。。我需要帮助 提前谢谢你 我建议您使用ListActivity作为基类。当您的类扩展ListActivity时,您可以使用事件onListIt

我使用的是我的第一个Android应用程序,我使用的是时间表,所以细节和示例将非常有用,因为我的知识仍然很少

我希望我的第一个屏幕向用户显示一个活动列表,供用户选择。在我的情况下,它是一个食谱应用程序,用户首先选择食物类型,如牛肉、鸡肉或猪肉。我希望应用程序根据用户单击的列表项启动活动

我不确定是否应该使用列表视图、文本视图、滚动视图、列表活动、活动组。。。我需要帮助


提前谢谢你

我建议您使用ListActivity作为基类。当您的类扩展ListActivity时,您可以使用事件onListItemClick()来解释用户单击的项目并启动相应的意图

您可以将您的列表绑定到您的食物数组。有大量的例子可以找到如何构建活动,只有谷歌的“listactivity”

我正要回复你关于使用阵列的另一篇文章,但它现在似乎已经消失了。。所以我对这篇文章的回复也在下面

创建第二个数组,该数组只包含活动类名称,因此

<string-array name="food_array">
    <item> Beef</item>
    <item>Chicken</item>
    <item>Fish</item>
    <item>Pork</item>
</string-array>

牛肉
鸡
鱼
猪肉
还有一个可以访问的镜像阵列,例如

<string-array name="food_array_activities">
    <item>BeefActivity.class</item>
    <item>ChickenActivity.class</item>
    <item>FishActivity.class</item>
    <item>PorkActivity.class</item>
</string-array>

BeefActivity.class
胆小鬼
鱼类活动类
PorkActivity.class
由于您的onItemClick为您提供了单击列表中的位置,您可以直接引用第二个数组来确定应该使用的活动名称


Rgds

这听起来像是一个选择交互设计,而不是一个编程问题。这是一个好主意,我在代码中加入“食物数组活动”时遇到了一些问题。我现在有我的字符串数组,就像你做的一样。我在列出“食物数组”中的项目时没有问题,因为它们的性质是字符串。但是位置不应该是“食物数组活动”的属性吗?我不需要数组列表吗?但我不能通过将我的活动放在“字符串数组”中来实现这一点。你在onItemClick中收到的“位置”将成为你在数组中的索引。例如,在onItemClick//中,首先获取资源并加载数组资源res=getResources();String[]activitiesArray=res.getStringArray(R.array.food_array_activities);//查看相应的活动是什么。。字符串selectedActivity=activitiesArray[position];好的,到目前为止我有:公共类foodActivity扩展了ListActivity{/**在第一次创建活动时调用。*/public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);String[]food=getResources().getStringArray(R.array.food_array);final String[]activities=getResources().getStringArray(R.array.activities);this.setListAdapter(新的ArrayAdapter(this,android.R.layout.simple_list_item_1,food));final ListView lv=getListView();(续)lv.setxtFilterEnabled(true);lv.setOnItemClickListener(新的OnItemClickListener()){public void onItemClick(AdapterView父级,视图视图,int位置,长id){String selectedActivity=activities[position];Intent nextActivity=newintent(foodActivity.this,selectedActivity);startActivity(nextActivity);}}}}}}(续)在我的Intent-nextActivity行中,eclipse说“构造函数意图(foodActivity,String)未定义”,它提供给我的解决方案中的一个解决方案是将String-selectedActivity更改为Class-selectedActivity,这是行不通的。