如何获得在扩展列表视图的parentgroup值 [英] How to get the parentgroup values in expandable listview

查看:256
本文介绍了如何获得在扩展列表视图的parentgroup值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的列表视图扩展,我parentview包含两个textvies说T1,T2和我childview包含两个按钮说B1,b2.what其实我要的是点击按钮B1每当我需要得到t1和t2.How值我能得到这个。

下面是我的列表视图扩展适配器

 公共类MyFeedExpAdapter扩展BaseExpandableListAdapter {公共上下文的背景下;
INT行;
公开名单< MyTwitFeedObject> marrayOfList;
公众的ArrayList< MyTwitFeedObject> feedObject;
公众对话的对话;公共MyFeedExpAdapter(上下文的背景下,INT textViewResourceId,
        清单< MyTwitFeedObject>对象){    this.context =背景;
    this.row = textViewResourceId;
    this.marrayOfList =物体;    this.feedObject =新的ArrayList< MyTwitFeedObject>();
    this.feedObject.addAll(marrayOfList);
    // TODO自动生成构造函数存根
}@覆盖
公共对象getChild(INT groupPosition,诠释childPosition){
    // TODO自动生成方法存根
    返回null;
}@覆盖
众长getChildId(INT groupPosition,诠释childPosition){
    // TODO自动生成方法存根
    返回0;
}@覆盖
公共查看getChildView(INT groupPosition,诠释childPosition,
        布尔isLastChild,查看convertView,父母的ViewGroup){
    // TODO自动生成方法存根     我的意图= NULL;    ViewHolder1 holder1 =新ViewHolder1();
    如果(convertView == NULL){
        LayoutInflater吹气=(LayoutInflater)上下文
                .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.woosuite_feedchild,NULL);        holder1.b1 =(按钮)convertView.findViewById(R.id.button1);
        holder1.b2 =(按钮)convertView.findViewById(R.id.button2);
        holder1.b3 =(按钮)convertView.findViewById(R.id.button3);holder1.b1.setTag(groupPosition);
holder1.b2.setTag(groupPosition);
holder1.b3.setTag(groupPosition);        holder1.b1.setOnClickListener(新OnClickListener(){            @覆盖
            公共无效的onClick(视图v){
                // TODO自动生成方法存根            }
        });
        holder1.b2.setOnClickListener(新OnClickListener(){            @覆盖
            公共无效的onClick(视图v){
                // TODO自动生成方法存根
            //在这里,我得到的值,并在单varaible存储,但它说无法指非final的变量groupPosition在不同的方法定义的内部类里面的INT groupPositionSelected = Integer.valueOf(v.getTag()的toString());                Singleton.screen_name = feedObject.get(groupPositionSelected).getScreen_name();
                的System.out.println(Singleton.screen_name+ Singleton.screen_name);
                Singleton.message = feedObject.get(groupPositionSelected).getTwit_message();
                的System.out.println(Singleton.message+ Singleton.message);
                意图I =新意图(背景下,Woosuite_NewTask.class);
                context.startActivity(ⅰ);
            }
        });
    // i.putExtra(名,feedObject.get(childPosition).getScreen_name());
    // i.putExtra(msg中,feedObject.get(childPosition).getTwit_message());
        holder1 =新ViewHolder1();
        convertView.setTag(holder1);
    }其他
        holder1 =(ViewHolder1)convertView.getTag();
     ((ViewHolder1)convertView.getTag())b1.setTag(groupPosition)。
     ((ViewHolder1)convertView.getTag())b2.setTag(groupPosition)。
     ((ViewHolder1)convertView.getTag())b3.setTag(groupPosition)。    返回convertView;
}@覆盖
公众诠释getChildrenCount(INT groupPosition){
    // TODO自动生成方法存根
    返回1;
}@覆盖
公共对象getGroup(INT groupPosition){
    // TODO自动生成方法存根
    返回null;
}@覆盖
公众诠释getGroupCount(){
    // TODO自动生成方法存根
 返回marrayOfList.size();
}@覆盖
众长getGroupId(INT groupPosition){
    // TODO自动生成方法存根
    返回groupPosition;
}@覆盖
公共查看getGroupView(INT groupPosition,布尔isExpanded,
        查看convertView,父母的ViewGroup){
    // TODO自动生成方法存根
    的System.out.println(gebug在MyTwiterFeedAdapter);
    ViewHolder持有人;    如果(convertView == NULL){
        LayoutInflater吹气=(LayoutInflater)context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(行,NULL);
        持有人=新ViewHolder();
        convertView.setTag(保持器);
    }其他
        支架=(ViewHolder)convertView.getTag();// feedObject = marrayOfList.get(groupPosition);    holder.from_name =(TextView中)convertView.findViewById(R.id.textView5);
    holder.message =(TextView中)convertView.findViewById(R.id.textView2);
    holder.message_date =(TextView中)convertView.findViewById(R.id.textView3);
    holder.screen_name =(TextView中)convertView.findViewById(R.id.textView1);    如果(feedObject.get(groupPosition).getTwitfrom_name()!= NULL){        holder.from_name.setText(feedObject.get(groupPosition).getTwitfrom_name());
    }    如果(feedObject.get(groupPosition).getScreen_name()!= NULL){        holder.screen_name.setText(feedObject.get(groupPosition).getScreen_name());
    }    如果(feedObject.get(groupPosition).getTwit_message()!= NULL){
        holder.message.setText(feedObject.get(groupPosition).getTwit_message());
    }                    }赶上(NumberFormatException的E){
                        // TODO自动生成catch块
                        e.printStackTrace();
                    }
    }    返回convertView;
}@覆盖
公共布尔hasStableIds(){
    // TODO自动生成方法存根
    返回false;
}@覆盖
公共布尔isChildSelectable(INT groupPosition,诠释childPosition){
    // TODO自动生成方法存根
    返回true;
}公共类ViewHolder1 {    按钮B1,B2,B3;
}公共类ViewHolder {
    ImageView的profile_img;
    TextView的USER_NAME;
    TextView的消息,FROM_NAME,MESSAGE_DATE,SCREEN_NAME;
}

}

下面是我的logcat

  15 12-10:47:27.429:E / AndroidRuntime(8069):致命异常:主要
12-10 15:47:27.429:E / AndroidRuntime(8069):显示java.lang.NullPointerException
12-10 15:47:27.429:E / AndroidRuntime(8069):在com.example.woosuite.adapter.MyFeedExpAdapter.getChildView(MyFeedExpAdapter.java:171)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.widget.ExpandableListConnector.getView(ExpandableListConnector.java:456)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.widget.AbsListView.obtainView(AbsListView.java:2465)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.widget.ListView.measureHeightOfChildren(ListView.java:1250)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.widget.ListView.onMeasure(ListView.java:1162)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.View.measure(View.java:15371)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.widget.RelativeLayout.measureChild(RelativeLayout.java:602)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.widget.RelativeLayout.onMeasure(RelativeLayout.java:415)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.View.measure(View.java:15371)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4876)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.View.measure(View.java:15371)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4876)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1396)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.View.measure(View.java:15371)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4876)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
12-10 15:47:27.429:E / AndroidRuntime(8069):在com.android.internal.policy.impl.PhoneWindow $ DecorView.onMeasure(PhoneWindow.java:2423)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.View.measure(View.java:15371)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2011)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1250)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1425)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1143)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.ViewRootImpl $ TraversalRunnable.run(ViewRootImpl.java:4667)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.Choreographer $ CallbackRecord.run(Choreographer.java:725)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.Choreographer.doCallbacks(Choreographer.java:555)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.Choreographer.doFrame(Choreographer.java:525)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java:711)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.os.Handler.handleCallback(Handler.java:615)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.os.Handler.dispatchMessage(Handler.java:92)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.os.Looper.loop(Looper.java:137)
12-10 15:47:27.429:E / AndroidRuntime(8069):在android.app.ActivityThread.main(ActivityThread.java:4960)
12-10 15:47:27.429:E / AndroidRuntime(8069):在java.lang.reflect.Method.invokeNative(本机方法)
12-10 15:47:27.429:E / AndroidRuntime(8069):在java.lang.reflect.Method.invoke(Method.java:511)
12-10 15:47:27.429:E / AndroidRuntime(8069):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1038)
12-10 15:47:27.429:E / AndroidRuntime(8069):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
12-10 15:47:27.429:E / AndroidRuntime(8069):在dalvik.system.NativeStart.main(本机方法)


解决方案

像下面code设置标记:

  holder1.b1.setTag(groupPosition);
    holder1.b2.setTag(groupPosition);
    holder1.b3.setTag(groupPosition);

的onClick()方法获取:

  INT groupPositionSelected = Integer.valueOf(v.getTag()的toString());

//修改

编辑您的其他与此code

 其他
   {
     ((ViewHolder1)convertView.getTag())b1.setTag(groupPosition)。
     ((ViewHolder1)convertView.getTag())b2.setTag(groupPosition)。
     ((ViewHolder1)convertView.getTag())b3.setTag(groupPosition)。
     支架=(ViewHolder1)v.getTag();
  }

为什么你叫 holder1 =新ViewHolder1(); 中的if语句设置为你的观点之前?请删除该行并只保留 convertView.setTag(holder1);

in my expandable listview, my parentview contains two textvies say t1,t2 and my childview contains two buttons say b1,b2.what actually i want is whenever clicking the button b1 i need to get the values of t1 and t2.How can i get this.

Here is my expandable listview adapter

public class MyFeedExpAdapter extends BaseExpandableListAdapter {

public Context context;
int row;
public List<MyTwitFeedObject> marrayOfList;
public ArrayList<MyTwitFeedObject> feedObject;
public Dialog dialog;

public MyFeedExpAdapter(Context context, int textViewResourceId,
        List<MyTwitFeedObject> objects) {

    this.context=context;
    this.row=textViewResourceId;
    this.marrayOfList=objects;

    this.feedObject=new ArrayList<MyTwitFeedObject>();
    this.feedObject.addAll(marrayOfList);


    // TODO Auto-generated constructor stub
}

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

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

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

     Intent i=null;

    ViewHolder1 holder1 = new ViewHolder1();
    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.woosuite_feedchild, null);

        holder1.b1 = (Button) convertView.findViewById(R.id.button1);
        holder1.b2 = (Button) convertView.findViewById(R.id.button2);
        holder1.b3 = (Button) convertView.findViewById(R.id.button3);

holder1.b1.setTag(groupPosition);
holder1.b2.setTag(groupPosition);
holder1.b3.setTag(groupPosition);

        holder1.b1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub                                              

            }                       
        });
        holder1.b2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
            // here i getting the values and storing in singleton varaible but it saying " Cannot refer to a non-final variable groupPosition inside an inner class defined in a different method "

int groupPositionSelected = Integer.valueOf(v.getTag().toString());

                Singleton.screen_name=feedObject.get(groupPositionSelected).getScreen_name();
                System.out.println("Singleton.screen_name "+Singleton.screen_name);
                Singleton.message=feedObject.get(groupPositionSelected).getTwit_message();
                System.out.println("Singleton.message "+Singleton.message);
                Intent i=new Intent(context,Woosuite_NewTask.class);
                context.startActivity(i);               
            }
        });


    //  i.putExtra("name", feedObject.get(childPosition).getScreen_name());
    //  i.putExtra("msg", feedObject.get(childPosition).getTwit_message());


        holder1 = new ViewHolder1();
        convertView.setTag(holder1);
    } else
        holder1 = (ViewHolder1) convertView.getTag();


     ((ViewHolder1) convertView.getTag()).b1.setTag(groupPosition);
     ((ViewHolder1) convertView.getTag()).b2.setTag(groupPosition);
     ((ViewHolder1) convertView.getTag()).b3.setTag(groupPosition);

    return convertView;
}

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

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

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

@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) {
    // TODO Auto-generated method stub
    System.out.println("gebug in MyTwiterFeedAdapter ");
    ViewHolder holder;

    if(convertView==null){
        LayoutInflater inflater=(LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        convertView=inflater.inflate(row, null);
        holder=new ViewHolder();
        convertView.setTag(holder);
    }else
        holder = (ViewHolder) convertView.getTag();

//  feedObject=marrayOfList.get(groupPosition);

    holder.from_name=(TextView) convertView.findViewById(R.id.textView5);
    holder.message=(TextView) convertView.findViewById(R.id.textView2);
    holder.message_date=(TextView) convertView.findViewById(R.id.textView3);
    holder.screen_name=(TextView) convertView.findViewById(R.id.textView1);

    if(feedObject.get(groupPosition).getTwitfrom_name()!=null){

        holder.from_name.setText(feedObject.get(groupPosition).getTwitfrom_name());
    }

    if(feedObject.get(groupPosition).getScreen_name()!=null){

        holder.screen_name.setText(feedObject.get(groupPosition).getScreen_name());
    }

    if(feedObject.get(groupPosition).getTwit_message()!=null){
        holder.message.setText(feedObject.get(groupPosition).getTwit_message());
    }

                    } catch (NumberFormatException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
    }

    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 true;
}

public class ViewHolder1 {

    Button b1, b2, b3;
}

public class ViewHolder {
    ImageView profile_img;
    TextView user_name;
    TextView message, from_name, message_date,screen_name;
}

}

Here is my logcat

12-10 15:47:27.429: E/AndroidRuntime(8069): FATAL EXCEPTION: main
12-10 15:47:27.429: E/AndroidRuntime(8069): java.lang.NullPointerException
12-10 15:47:27.429: E/AndroidRuntime(8069):     at com.example.woosuite.adapter.MyFeedExpAdapter.getChildView(MyFeedExpAdapter.java:171)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.widget.ExpandableListConnector.getView(ExpandableListConnector.java:456)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.widget.AbsListView.obtainView(AbsListView.java:2465)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.widget.ListView.measureHeightOfChildren(ListView.java:1250)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.widget.ListView.onMeasure(ListView.java:1162)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.View.measure(View.java:15371)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.widget.RelativeLayout.measureChild(RelativeLayout.java:602)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:415)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.View.measure(View.java:15371)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4876)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.View.measure(View.java:15371)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4876)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1396)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.View.measure(View.java:15371)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4876)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2423)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.View.measure(View.java:15371)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2011)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1250)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1425)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1143)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4667)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.Choreographer.doCallbacks(Choreographer.java:555)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.Choreographer.doFrame(Choreographer.java:525)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.os.Handler.handleCallback(Handler.java:615)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.os.Handler.dispatchMessage(Handler.java:92)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.os.Looper.loop(Looper.java:137)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at android.app.ActivityThread.main(ActivityThread.java:4960)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at java.lang.reflect.Method.invokeNative(Native Method)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at java.lang.reflect.Method.invoke(Method.java:511)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
12-10 15:47:27.429: E/AndroidRuntime(8069):     at dalvik.system.NativeStart.main(Native Method)

解决方案

set tag like following code:

    holder1.b1.setTag(groupPosition);
    holder1.b2.setTag(groupPosition);
    holder1.b3.setTag(groupPosition);

and in onClick() method get that:

   int groupPositionSelected = Integer.valueOf(v.getTag().toString());

//EDIT

Edit your else with this code

   else
   {
     ((ViewHolder1) convertView.getTag()).b1.setTag(groupPosition);
     ((ViewHolder1) convertView.getTag()).b2.setTag(groupPosition);
     ((ViewHolder1) convertView.getTag()).b3.setTag(groupPosition);
     holder = (ViewHolder1) v.getTag();
  }

why you call holder1 = new ViewHolder1(); before setting to your view in if statement? please delete that line and just keep convertView.setTag(holder1);

这篇关于如何获得在扩展列表视图的parentgroup值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆