Android ExpandableListView赢得';t在返回线布局或视图上展开
我正在实现一个应用程序,你可以在左侧选择不同的选项,并将它们添加到右侧的主_片段中。情况如下: 使用此代码,一切正常:Android ExpandableListView赢得';t在返回线布局或视图上展开,android,expandablelistview,Android,Expandablelistview,我正在实现一个应用程序,你可以在左侧选择不同的选项,并将它们添加到右侧的主_片段中。情况如下: 使用此代码,一切正常: public View getGroupView(int i, boolean b, View view){ TextView textview = new TextView(MyFragment.this.getActivity()); textview.setText("smth"); return textview;} 但是我的文本视图旁边需
public View getGroupView(int i, boolean b, View view){
TextView textview = new TextView(MyFragment.this.getActivity());
textview.setText("smth");
return textview;}
但是我的文本视图旁边需要一个复选框。现在,有几种方法可以做到这一点,但不幸的是,没有一种方法在单击时提供相同的结果:展开
以下是第一种可能性,即在LinearLayout中使用带有TextView和复选框的简单XML元素:
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.element, null);
TextView textview = ((TextView) view.findViewById(R.id.textview01));
textview.setText("smth");
CheckBox cb = ((CheckBox) view.findViewById(R.id.checkbox01));
return view;
或以编程方式添加视图:
LinearLayout ln = new LinearLayout(MyFragment.this.getActivity());
TextView textview = new Textview(MyFragment.this.getActivity());
textview.setText("smth");
CheckBox cb = new Checkbox(MyFragment.this.getActivity());
ln.addView(textview);
ln.addView(cb);
return ln;
请注意,我缩短了代码以便于通读。
谢谢你的建议 默认情况下,复选框捕获其父布局的所有焦点事件。因此,要使布局句柄单击事件(包括展开),需要将复选框focusability设置为false:
XML布局:
android:focusable="false"
来自JAVA代码:
checkBox.setFocuseble(false);
默认情况下,复选框捕获其父布局的所有焦点事件。因此,要使布局句柄单击事件(包括展开),需要将复选框focusability设置为false:
XML布局:
android:focusable="false"
来自JAVA代码:
checkBox.setFocuseble(false);
我很高兴!工作正常。我想,那只是经验!塔克斯!当我在GroupView中切换时,这对我很有帮助。必须将开关的焦点设置为false。现在,它们可以扩展和崩溃,而且交换机仍能按预期工作。我很高兴!工作正常。我想,那只是经验!塔克斯!当我在GroupView中切换时,这对我很有帮助。必须将开关的焦点设置为false。现在,它们可以扩展和崩溃,而交换机仍能按预期工作。