5-16

package com.example.expandablelistr;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.Toast;
import android.widget.ExpandableListView.OnGroupClickListener;
import android.widget.TextView;

public class MainActivity extends Activity {
    ExpandableListView expandableListView;

    String[] groupStrings = {"西游记", "水浒传", "三国演义", "红楼梦"};
    String[][] childStrings = {
            {"唐三藏", "孙悟空", "猪八戒", "沙和尚"},
            {"宋江", "林冲", "李逵", "鲁智深"},
            {"曹操", "刘备", "孙权", "诸葛亮", "周瑜"},
            {"贾宝玉", "林黛玉", "薛宝钗", "王熙凤"}};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        expandableListView=(ExpandableListView) findViewById(R.id.expandableListView);
                
        myadapter myadapter = new myadapter();
        expandableListView.setAdapter(myadapter);
        //点击组的监听
        expandableListView.setOnGroupClickListener(new OnGroupClickListener() {
            
            @Override
            public boolean onGroupClick(ExpandableListView parent, View v,
                    int groupPosition, long id) {
                // TODO Auto-generated method stub
                Toast.makeText(getApplication(), groupStrings[groupPosition], 0).show();;
                return false;//返回false不然分组不会展开
            }
        });
        expandableListView.setOnChildClickListener(new OnChildClickListener() {
            
            @Override
            public boolean onChildClick(ExpandableListView parent, View v,
                    int groupPosition, int childPosition, long id) {
                // TODO Auto-generated method stub
                Toast.makeText(getApplication(), childStrings[groupPosition][childPosition], 0).show();;
                return false;
            }
        });
        
        }
    class myadapter extends BaseExpandableListAdapter{
//分组的个数
        @Override
        public int getGroupCount() {
            // TODO Auto-generated method stub
            return groupStrings.length;
        }
//获取指定分组中的子选项的个数
        @Override
        public int getChildrenCount(int groupPosition) {
            // TODO Auto-generated method stub
            return childStrings[groupPosition].length;
        }
//获取指定的分组数据
        @Override
        public Object getGroup(int groupPosition) {
            // TODO Auto-generated method stub
            return groupStrings[groupPosition];
        }
//获取指定分组中指定的子选项的数据
        @Override
        public Object getChild(int groupPosition, int childPosition) {
            // TODO Auto-generated method stub
            return childStrings[groupPosition][childPosition];
        }
//获取指定分组的ID
        @Override
        public long getGroupId(int groupPosition) {
            // TODO Auto-generated method stub
            return groupPosition;
        }
//获取指定分组下的子选项ID
        @Override
        public long getChildId(int groupPosition, int childPosition) {
            // TODO Auto-generated method stub
            return childPosition;
        }
//分组和子选项是否持有稳定的ID,也就是底层数据的改变会不会影响到他们
        @Override
        public boolean hasStableIds() {
            // TODO Auto-generated method stub
            return true;
        }
//获取指定分组的视图(isExpanded是否扩展)
        @Override
        public View getGroupView(int groupPosition, boolean isExpanded,
                View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            GroupViewHolder groupViewHolder=null;
            if(convertView==null){
                convertView=View.inflate(MainActivity.this,R.layout.hzu, null);
                groupViewHolder=new GroupViewHolder();
                groupViewHolder.tvTitle=(TextView) convertView.findViewById(R.id.label_expand_group);
                convertView.setTag(groupViewHolder);
                
            }else{
                 groupViewHolder = (GroupViewHolder) convertView.getTag();
            }
            groupViewHolder.tvTitle.setText(groupStrings[groupPosition]);
            
            return convertView;
        }
//获取指定分组中的指定子选项的视图
        @Override
        public View getChildView(int groupPosition, int childPosition,
                boolean isLastChild, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            ChildViewHolder childViewHolder=null;
            if(convertView==null){
                childViewHolder=new ChildViewHolder();
                convertView=View.inflate(MainActivity.this,R.layout.hzu2, null);
                childViewHolder.tvTitle=(TextView)convertView.findViewById(R.id.label_expand_group2);
                convertView.setTag(childViewHolder);//else这句话有用
            }else{
                childViewHolder = (ChildViewHolder) convertView.getTag();
            }
            Log.e("set", "scoss");
            childViewHolder.tvTitle.setText(childStrings[groupPosition][childPosition]);
            return convertView;
        }
//指定位置上的子元素是否可选中
        @Override
        public boolean isChildSelectable(int groupPosition, int childPosition) {
            // TODO Auto-generated method stub
            return true;
        }

    
}
     class GroupViewHolder {
        TextView tvTitle;
    }
     class ChildViewHolder {
        TextView tvTitle;
}
}   

主xml:

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

在这里我用了两个Textview.xml
第一个是条目

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/label_expand_group"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:background="@android:color/holo_blue_light"
    android:paddingLeft="20dp"
    android:textColor="@android:color/white"
    android:textSize="30sp" 
/>

第二个子目录

<?xml version="1.0" encoding="utf-8"?>
   <TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/label_expand_group2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textColor="#fff"
    android:background="@android:color/darker_gray"
    android:textSize="20sp" 
/>

fx5-16et-es-h是一款手册,详细介绍了该型号的技术参数、功能特点以及使用操作方法。 首先,在技术参数方面,fx5-16et-es-h采用了先进的PLC控制技术,具有16个输入点和16个输出点的扩展模块。它具有高速的信号处理能力,可实现快速的数据处理和逻辑控制。同时,该手册还提供了该型号的外观尺寸、工作电压、通信接口等详细参数信息,使用户能够更好地了解产品的硬件特性。 其次,该手册还详细介绍了fx5-16et-es-h的功能特点。它支持多种编程语言,如LD(梯形图)、ST(结构化文本)和SFC(连续功能图),便于用户根据实际需求选择合适的编程方式。此外,它还具有丰富的功能模块,如计数器、定时器、比较器等,可以满足不同的控制需求。此外,该手册还介绍了fx5-16et-es-h的通信功能,可以与其他设备进行数据交互,实现系统的联网控制。 最后,手册还详细描述了fx5-16et-es-h的使用操作方法。它指导用户如何使用编程软件进行程序设计、参数设定和在线监视,并通过图文并茂的操作示例来帮助用户掌握使用技巧。此外,手册还提供了常见问题的解答,为用户解决可能遇到的疑难问题,保证用户能够顺利、高效地使用该产品。 综上所述,fx5-16et-es-h手册全面介绍了该产品的技术参数、功能特点和使用操作方法,是用户了解和使用该产品的重要参考资料。希望这份手册能够帮助用户更好地掌握该产品的特点和使用方法,实现自动化控制的目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值