Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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 如何添加包含子项的Listview_Android_Android Listview_Subitem - Fatal编程技术网

Android 如何添加包含子项的Listview

Android 如何添加包含子项的Listview,android,android-listview,subitem,Android,Android Listview,Subitem,我希望以字符串数组的形式将数据显示为listview的子项 我该怎么做呢?这就是你想要实现的目标吗 这是我的代码的一部分,来自使用片段的ap。一个片段是列表片段 import android.widget.ArrayAdapter; import android.widget.ListView; public class Category List extends ListFragment { final static String[] CATEGORIES = {"String1","St

我希望以字符串数组的形式将数据显示为listview的子项


我该怎么做呢?

这就是你想要实现的目标吗

这是我的代码的一部分,来自使用片段的ap。一个片段是列表片段

import android.widget.ArrayAdapter;
import android.widget.ListView;

public class Category List extends ListFragment {

final static String[] CATEGORIES = {"String1","String2",
    "String3","String4"};

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),
        android.R.layout.simple_list_item_activated_1,
        CATEGORIES));
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
公共类类别列表扩展了ListFragment{
最终静态字符串[]类别={“String1”、“String2”,
“String3”、“String4”};
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
setListAdapter(新的ArrayAdapter(getActivity()),
android.R.layout.simple\u list\u item\u activated\u 1,
类别),;

希望有帮助。

从Android开发站点下载api演示,或打开SDK管理器,确保您已经下载了当前SDK的
示例

然后导航到samples文件夹并查看
可扩展列表

在我的WinXP comp上,文件位于以下位置:


C:\Program Files\Android\Android sdk\samples\Android-16\ApiDemos\src\com\example\Android\api\view
然后查找
可扩展列表.jar
文件,您需要创建一个适配器类。以下是您的解决方案: 首先在MainActivity类中创建一个私有类,如下所示:

private class Adapter extends BaseAdapter
{
    ArrayList<String> list;
    public Adapter(ArrayList<String> list)
    {
        this.list=list;
    }
    @Override
    public int getCount() 
    {
        return list.size();
    }
    @Override
    public String getItem(int index) 
    {
        return list.get(index);
    }
    @Override
    public long getItemId(int arg0) 
    {
        return 0;
    }
    @Override
    public View getView(int index, View view, ViewGroup arg2) 
    {
        TextView tv_text = new TextView(MainActivity.this);
        tv_text.setText(list.get(index));
        tv_text.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);
        @SuppressWarnings("deprecation")
        AbsListView.LayoutParams params = 
                new AbsListView.LayoutParams(AbsListView.LayoutParams.FILL_PARENT,
                        AbsListView.LayoutParams.FILL_PARENT);
        tv_text.setLayoutParams(params);
        tv_text.setHeight(60);
        tv_text.setTextSize(18);
        return tv_text;
    }       
}
然后您需要将适配器设置为
列表视图的主适配器

ListView lv_list = (ListView)findViewById(R.id.listView1);
lv.setAdapter(adapter);
D

Adapter adapter = new Adapter(list);
ListView lv_list = (ListView)findViewById(R.id.listView1);
lv.setAdapter(adapter);