Java 无法从listview获取值微调器

Java 无法从listview获取值微调器,java,android,android-layout,android-listview,Java,Android,Android Layout,Android Listview,对不起我的英语。我花了很多时间试图解决我的问题,但我做不到。我有listView,在这个列表视图中为一些元素创建微调器。在适配器中创建的微调器。我无法获得价值微调器。这对我来说很难。请堆 我的适配器 public class ExpListAdapter extends BaseExpandableListAdapter { private ArrayList<ArrayList<String>> mGroups; private

对不起我的英语。我花了很多时间试图解决我的问题,但我做不到。我有listView,在这个列表视图中为一些元素创建微调器。在适配器中创建的微调器。我无法获得价值微调器。这对我来说很难。请堆

我的适配器

   public class ExpListAdapter extends BaseExpandableListAdapter {

        private ArrayList<ArrayList<String>> mGroups;
        private ArrayList<DeviceObject> deviceObList;
        private ArrayList<RoomSuggestion> roObjList;
        private Context mContext;

        public ExpListAdapter (Context context,ArrayList<ArrayList<String>> groups, ArrayList<DeviceObject> deviceObList, ArrayList<RoomSuggestion> roObjList){
            mContext = context;
            mGroups = groups;
            this.deviceObList = deviceObList;
            this.roObjList = roObjList;
        }

        @Override
        public int getGroupCount() {
            return mGroups.size();
        }

        @Override
        public int getChildrenCount(int groupPosition) {
            return mGroups.get(groupPosition).size();
        }

        @Override
        public Object getGroup(int groupPosition) {
            return mGroups.get(groupPosition);
        }

        @Override
        public Object getChild(int groupPosition, int childPosition) {
            return mGroups.get(groupPosition).get(childPosition);
        }

        @Override
        public long getGroupId(int groupPosition) {
            return groupPosition;
        }

        @Override
        public long getChildId(int groupPosition, int childPosition) {
            return childPosition;
        }

        @Override
        public boolean hasStableIds() {
            return true;
        }

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

            if (convertView == null) {
                LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                convertView = inflater.inflate(R.layout.group_view, null);
            }

            if (isExpanded){
                //Изменяем что-нибудь, если текущая Group раскрыта
            }
            else{
                //Изменяем что-нибудь, если текущая Group скрыта
            }

            Typeface lightFace = Typeface.createFromAsset(mContext.getAssets(), "font/GothamProLight.ttf");

            TextView textGroup = (TextView) convertView.findViewById(R.id.textGroup);

            textGroup.setTypeface(lightFace);
            textGroup.setText("Thereses gate 46");

            return convertView;
        }

        @Override
        public View getChildView(int groupPosition, final int childPosition, boolean isLastChild,
                                 View convertView, ViewGroup parent) {

            if (convertView == null) {
                LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                convertView = inflater.inflate(R.layout.child_view, null);
            }

            Typeface mediumFace = Typeface.createFromAsset(mContext.getAssets(), "font/GothamProMedium.ttf");

            TextView textChild = (TextView) convertView.findViewById(R.id.textChild);
            textChild.setTypeface(mediumFace);
            textChild.setText( mGroups.get(groupPosition).get(childPosition) );

            RelativeLayout rl = (RelativeLayout) convertView.findViewById(R.id.bg_button_screen);

            if( !deviceObList.get(childPosition).getProduct_id().equals("0") ) {
                rl.setBackgroundColor(Color.parseColor("#4fcc54"));

View linearLayoutG =  convertView.findViewById(R.id.container);
                LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
                        LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
                layoutParams.setMargins(10, 0, 10, 30);
                linearLayoutG.setLayoutParams(layoutParams);

                RelativeLayout spinnerOpen = (RelativeLayout) convertView.findViewById(R.id.spinnerOpen);
                View linearLayout =  convertView.findViewById(R.id.spinnerL);

                ImageView imageS = (ImageView)convertView.findViewById(R.id.spinnerImage);
                imageS.getLayoutParams().width = 20;
                imageS.getLayoutParams().height = 20;
                imageS.setImageResource(R.drawable.spin_ok);

                ArrayList<String> list = new ArrayList<String>();
                for(int i = 0; i < roObjList.size(); i++) {
                    list.add(roObjList.get(i).getName() );
                }

                final Spinner spinner = new Spinner(mContext);
                //Make sure you have valid layout parameters.
                spinner.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 100));

                spinner.setBackgroundResource(R.drawable.bg_spinner);

                ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(mContext,
                        R.layout.spinner_item, list);
                spinner.setAdapter(spinnerArrayAdapter);

                //open spinner
                spinnerOpen.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        spinner.performClick();
                    }
                });

                ((LinearLayout) linearLayout).addView(spinner);

                spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                    @Override
                    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                        Log.e("selected", String.valueOf(parent.getItemAtPosition(position)) );
                        Log.e("childPosition", String.valueOf(childPosition));
                    }
                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {

                    }
                });
            } else {
                rl.setBackgroundColor(Color.parseColor("#e5910d"));
            }





        return convertView;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
        return true;
    }
}
公共类ExpListAdapter扩展了BaseExpandableListAdapter{
私人阵列列表管理组;
私有阵列列表设备列表;
私有数组列表;
私有上下文;
公共解释适配器(上下文上下文、ArrayList组、ArrayList设备列表、ArrayList roObjList){
mContext=上下文;
mGroups=组;
this.deviceObList=deviceObList;
this.roObjList=roObjList;
}
@凌驾
public int getGroupCount(){
返回mGroups.size();
}
@凌驾
公共整数getChildrenCount(整数组位置){
返回mGroups.get(groupPosition.size();
}
@凌驾
公共对象getGroup(int-groupPosition){
返回mGroups.get(groupPosition);
}
@凌驾
公共对象getChild(int-groupPosition,int-childPosition){
返回mGroups.get(groupPosition.get(childPosition);
}
@凌驾
公共长getGroupId(int-groupPosition){
返回组位置;
}
@凌驾
公共长getChildId(int-groupPosition,int-childPosition){
返回子位置;
}
@凌驾
公共布尔表ID(){
返回true;
}
@凌驾
公共视图getGroupView(int-groupPosition、布尔值isExpanded、视图convertView、,
视图组(父级){
if(convertView==null){
LayoutInflater充气器=(LayoutInflater)mContext.getSystemService(Context.LAYOUT\u充气器\u服务);
convertView=充气机。充气(R.layout.group_视图,空);
}
如果(扩展){
//ззччбббб,бббб组
}
否则{
//ззчч-бббб,бббб组
}
Typeface lightFace=Typeface.createFromAsset(mContext.getAssets(),“font/GothamProLight.ttf”);
TextView textGroup=(TextView)convertView.findViewById(R.id.textGroup);
textGroup.setTypeface(lightFace);
textGroup.setText(“Thereses 46号门”);
返回视图;
}
@凌驾
公共视图getChildView(int-groupPosition,final int-childPosition,boolean isLastChild,
视图(视图、视图组父级){
if(convertView==null){
LayoutInflater充气器=(LayoutInflater)mContext.getSystemService(Context.LAYOUT\u充气器\u服务);
convertView=充气机。充气(R.layout.child_视图,空);
}
Typeface mediumFace=Typeface.createFromAsset(mContext.getAssets(),“font/GothamProMedium.ttf”);
TextView textChild=(TextView)convertView.findViewById(R.id.textChild);
textChild.setTypeface(mediumFace);
textChild.setText(mGroups.get(groupPosition.get(childPosition));
RelativeLayout rl=(RelativeLayout)convertView.findViewById(R.id.bg按钮屏幕);
如果(!deviceObList.get(childPosition).getProduct_id()等于(“0”)){
rl.setBackgroundColor(Color.parseColor(#4fcc54”);
View linearLayoutG=convertView.findViewById(R.id.container);
LinearLayout.LayoutParams LayoutParams=新的LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_父项,LinearLayout.LayoutParams.WRAP_内容);
layoutParams.setMargins(10,0,10,30);
linearLayoutG.setLayoutParams(layoutParams);
RelativeLayout spinnerOpen=(RelativeLayout)convertView.findViewById(R.id.spinnerOpen);
视图线性布局=convertView.findViewById(R.id.Spinnerrl);
ImageView imageS=(ImageView)convertView.findViewById(R.id.spinnerImage);
imageS.getLayoutParams().width=20;
imageS.getLayoutParams().height=20;
image.setImageResource(R.drawable.spin_ok);
ArrayList=新建ArrayList();
对于(int i=0;i<?xml version="1.0" encoding="utf-8"?>

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

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_marginBottom="5dp"
        android:layout_height="wrap_content">

        <RelativeLayout
            android:id="@+id/bgchilddevice"
            android:layout_width="match_parent"
            android:layout_weight="0.3"
            android:layout_marginLeft="5dp"
            android:background="#26ffffff"
            android:layout_marginRight="2.5dp"
            android:layout_height="60dp">

            <TextView
                android:id="@+id/textChild"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#fff"
                android:textSize="18dp"
                android:layout_centerVertical="true"
                android:layout_centerHorizontal="true" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/bg_button_screen"
            android:layout_weight="0.9"
            android:layout_marginRight="5dp"
            android:background="#4fcc54"
            android:layout_width="match_parent"
            android:layout_marginLeft="2.5dp"
            android:layout_height="60dp">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/check"
                android:id="@+id/imageView6"
                android:layout_centerVertical="true"
                android:layout_centerHorizontal="true" />
        </RelativeLayout>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:background="#26ffffff"
        android:layout_height="wrap_content">

        <LinearLayout
            android:id="@+id/spinnerL"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentTop="true"
            android:layout_weight="0.2"
            android:layout_centerHorizontal="true" />

        <RelativeLayout
            android:id="@+id/spinnerOpen"
            android:layout_width="match_parent"
            android:layout_marginRight="5dp"
            android:layout_weight="0.8"
            android:layout_height="match_parent">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/spinnerImage"
                android:layout_centerVertical="true"
                android:layout_centerHorizontal="true" />
        </RelativeLayout>


    </LinearLayout>

</LinearLayout>
create.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        for(int i = 0; i < listView.getAdapter().getCount(); i++ ) {

                    for(int j = 0; j < listView.getChildCount(); j++ ) {

                        View _mainView = listView.getChildAt(j);

                        LinearLayout _linearLayout = (LinearLayout) _mainView.findViewById(R.id.spinnerL);

                        Spinner spinner = (Spinner) _linearLayout.getChildAt(0);

                        String selection = (String) spinner.getSelectedItem();

                        Log.e("spinner device", selection);
                    }

                }
    }

});
Spinner spinner =(Spinner) findViewById(R.id.spinnerL);
String value = spinner.getSelectedItem().toString();
for(int j = 0; j < listView.getChildCount(); j++ ) {

                        View _mainView = listView.getChildAt(j);

                        LinearLayout _linearLayout = (LinearLayout) _mainView.findViewById(R.id.spinnerL);

                        try{
                            Spinner spinner = (Spinner) _linearLayout.getChildAt(0);
                            String selection = (String) spinner.getSelectedItem();

                            Log.e("spinner device", selection);


                        }catch(Exception e){

                        }
                    }