Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android中的ExpandableLists,我想一次只允许一个父列表扩展大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想一次只扩展父列表中的一个项目,我的onCreate代码目前如下. (它可以按我的意愿工作,但是一次只打开一个父项的方法不起作用)
public void onCreate(Bundle savedInstanceStatE) {
        try{
             super.onCreate(savedInstanceStatE);
             setContentView(R.layout.main);

        final Simpleexpandablelistadapter explistadapter =
            new Simpleexpandablelistadapter(
                        //FOR LEVEL 1 SCREEN
                    this,createGroupList(),// METHOD TO CREATE PARENTLIST CreaTing group List.
                    R.layout.group_row,// REF TO XML FILename.         
                    new String[] { "Group Item" },// StriNG ARRAY HOLDING one key THAT REF'S ALL PARENT LIST ITEMs.
                    new int[] { R.id.row_name },// REF TO I.D. OF PARENT XMl. ID of each group item.-Data under the key goes into this TextView.                    
                    createChildList(),// METHOD TO CREATE CHILD LST. childData describes second-level entries.
                    R.layout.child_row,// XMLFILE NAME FOR CHILD LIST.Layout for sub-level entries(second level).
                    new String[] {"Sub Item"},// KEY FOR CHILD ITEMS IN HASHMAP. Keys in childData maps to display.
                    new int[] { R.id.grp_chilD}     // XML ID FOR TEXTVIEW. Data under the keys above go into these TextViews.
                );
            setlistadapter( explistadapter );       // setTing the adapter in the list.

        //**THIS IS what I DONT KNow HOW TO CODE:**


            list = (ExpandableListView) findViewById(R.id.row_Name);
            list.setAdapter( explistadapter);
            list.setGroupInDicator(null);


            list.setOnGroupExpandListener(new OnGroupExpandListener() {

                public void onGroupExpand(int groupPosition) {
                    int len = explistadapter.getGroupCount();
                    for (int i = 0; i < len; i++) {
                        if (i != groupPosition) {
                            list.collapseGroup(i);
                        }
                    }
                }
            });

        }catch(Exception E){

            System.out.println("Errrr +++ " + e.getmessage());
        }
    }

我理解上面的代码,但是,我不使用expandableListViews,我使用expandablelist的布局将我的程序保存到我的.xml文件中.所以我不知道如何将上述内容应用到我的程序中……

@H_70_4@main.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="@R_944_10107@://scheR_789_11845@as.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
 <ExpandableListView android:id="@+id/list"
               android:layout_width="fill_parent" 
               android:layout_height="fill_parent"
               android:BACkground="@drawable/bkg"/>

     <TextView android:id="@+id/android:empty"
               android:layout_width="fill_parent" 
               android:layout_height="fill_parent"
               android:text="No items"/>
</LinearLayout>

我不知道如何申请的方法如下:

list = (ExpandableListView) findViewById(R.id.row_Name);
            list.setAdapter( explistadapter);
            list.setGroupInDicator(null);

            list.setOnGroupExpandListener(new OnGroupExpandListener() {
                    public void onGroupExpand(int groupPosition) {
                    int len = explistadapter.getGroupCount();
                    for (int i = 0; i < len; i++) {
                        if (i != groupPosition) {
                            list.collapseGroup(i);
                        }
                    }
                }
            });

1)如何将“列表”引用到我的expandablelist活动?

list在类中定义为私有的ExpandableListView列表;

我现在没有任何错误,但该方法不起作用.

任何帮助是极大的赞赏!

解决方法

// Declare variable 
private static int prev = -1;
// and OnGroupExpandListener implement


 mExpandableList.setOnGroupExpandListener(new OnGroupExpandListener() {

            @Override
            public void onGroupExpand(int groupPosition) {

                if(prev!=-1)
                {

                    mExpandableList.collapseGroup(prev);    

                }
                prev=groupPosition;
            }
        });

更新更新的解决方

@H_166_2@mExpandableList.setOnGroupExpandListener(new OnGroupExpandListener() { // Keep track of prevIoUs expanded parent int prevIoUsGroup = -1; @Override public void onGroupExpand(int groupPosition) { // Collapse prevIoUs parent if expanded. if ((prevIoUsGroup != -1) && (groupPosition != prevIoUsGroup)) { mExpandableList.collapseGroup(prevIoUsGroup); } prevIoUsGroup = groupPosition; } });

大佬总结

以上是大佬教程为你收集整理的Android中的ExpandableLists,我想一次只允许一个父列表扩展全部内容,希望文章能够帮你解决Android中的ExpandableLists,我想一次只允许一个父列表扩展所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。