Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.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
包含子项的ListView。Android示例_Android - Fatal编程技术网

包含子项的ListView。Android示例

包含子项的ListView。Android示例,android,Android,我是android编程的新手,我想创建一个带有ListView和多个子项的应用程序,需要一些建议,链接示例。 应用程序可能如下所示 谢谢 对于此布局,您应该有适配器和自定义适配器的概念 然后浏览以下链接- 可扩展的ListView肯定会解决您的问题 请点击此链接: 让我知道这是否适合你 这是一个简单的可扩展列表示例 首先- 1-在activity_main.xml中创建ExpandableListView 2-初始化并在MainActivity.java文件上设置适配器 3-创建您的适配器 4

我是android编程的新手,我想创建一个带有ListView和多个子项的应用程序,需要一些建议,链接示例。 应用程序可能如下所示

谢谢

对于此布局,您应该有适配器和自定义适配器的概念

然后浏览以下链接-


可扩展的ListView肯定会解决您的问题

请点击此链接:


让我知道这是否适合你

这是一个简单的可扩展列表示例

首先-

1-在activity_main.xml中创建ExpandableListView

2-初始化并在MainActivity.java文件上设置适配器

3-创建您的适配器

4-创建父布局和子布局xml文件

我的代码如下

活动_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Expandable List"
        android:layout_gravity="center"
        android:textColor="#30b171"
        android:background="#dde3ec"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <ExpandableListView
        android:id="@+id/expandableListView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ExpandableListView>

</LinearLayout>
MyExpandableListAdapter.java

package com.example.expandblelistapp;



import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class MyExpandableListAdapter extends BaseExpandableListAdapter{


    String[] groups={"Android","Apache_tomcat","Apple","Microsoft","Oracle"};

    String[][] children={
            {"JellyBean","HoneyComb","Kitkat","CupCake","Lollipop",},
            {"tomcat server","xampp server","wamp server","lamp server"},
            {"iphone","ipad","iwatch"},
            {".net","sqlServer","msoffice","xbox","explorer",},
            {"sap","business suite"},
                      };
    Integer[] img={R.drawable.android,R.drawable.apachetomcat,R.drawable.apple,
                    R.drawable.microsoft,R.drawable.oracle};


     Integer[][] childrenimg={
            {R.drawable.jellybean,R.drawable.gingerbread,R.drawable.kitkat,R.drawable.cupcake,R.drawable.lollipop},
            {R.drawable.images,R.drawable.images,R.drawable.images,R.drawable.images,},
            {R.drawable.iphone,R.drawable.ipad,R.drawable.iwatch},
            {R.drawable.net,R.drawable.outlook,R.drawable.office,R.drawable.xbox,R.drawable.explore},
            {R.drawable.osap,R.drawable.oserver},
                      };




     Context ctx;



    public MyExpandableListAdapter(Context context) {
         ctx=context;
    }

    @Override
    public Object getChild(int groupPosition, int childPosition) {
        // TODO Auto-generated method stub
        return children[groupPosition][childPosition];
    }

    @Override
    public long getChildId(int groupPosition, int childPosition) {
        // TODO Auto-generated method stub
        return childPosition;
    }

    @Override
    public int getChildrenCount(int groupPosition) {
        // TODO Auto-generated method stub
        return children[groupPosition].length;
    }

    @Override
    public View getChildView(int groupPosition, int childPosition,
            boolean isLastChild, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub


        LayoutInflater inflater=(LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView=inflater.inflate(R.layout.child_layout,parent,false);



         ImageView i=(ImageView) convertView.findViewById(R.id.imageView2);
         i.setImageResource(childrenimg[groupPosition][childPosition]);


        TextView dis=(TextView)convertView.findViewById(R.id.childtext);
        dis.setText(getChild(groupPosition, childPosition).toString());
        return convertView;


    }



    @Override
    public Object getGroup(int groupPosition) {
        // TODO Auto-generated method stub
        return groups[groupPosition];
    }

    @Override
    public int getGroupCount() {
        // TODO Auto-generated method stub
        return groups.length;
    }

    @Override
    public long getGroupId(int groupPosition) {
        // TODO Auto-generated method stub
        return groupPosition;
    }

    @Override
    public View getGroupView(int groupPosition, boolean isExpanded,
            View convertView, ViewGroup parent) {

    LayoutInflater inflater=(LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    convertView=inflater.inflate(R.layout.parent_layout,parent,false);

     ImageView i=(ImageView) convertView.findViewById(R.id.imageView1);
        i.setImageResource(img[groupPosition]);


    TextView dis=(TextView)convertView.findViewById(R.id.parenttext);
    dis.setText(groups[groupPosition]);
    return convertView;

    }

    @Override
    public boolean hasStableIds() {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
        // TODO Auto-generated method stub
        return false;
    }



}
parent_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/parenttext"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/childtext"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="Large Text"
        android:textSize="15sp"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>

child_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/parenttext"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/childtext"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="Large Text"
        android:textSize="15sp"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>

阅读谷歌文档(例如),开始编码,当您遇到特定问题时,返回代码。您应该参考RecyclerView而不是ListView。