0
내 expandablelistiview
자식에 buttons
이 있고 첫 번째 버튼이 View.VISIBLE
이고 다른 하나가 View.GONE
입니다. 첫 번째 버튼이 두 번째 버튼 가시성이 변경되도록 변경하려고했지만 작동하지 않습니다.expandablelistview 하위 요소에있는 버튼을 숨기는 버튼
내 getchildview 방법 :
당신이 버튼의 상태를 유지하지 않기 때문에 귀하의 코드가 작동하지 않는@Override
public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView,
ViewGroup parent) {
final String childText = (String) getChild(groupPosition, childPosition);
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) this.mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.list_item, null);
}
buttonOff = (Button) convertView.findViewById(R.id.button_off);
buttonOff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
buttonOff.setVisibility(View.GONE);
buttonTest.setVisibility(View.VISIBLE);
}
});
buttonTest = (Button) convertView.findViewById(R.id.button_test);
buttonTest.setVisibility(View.GONE);
buttonTest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
buttonTest.setVisibility(View.GONE);
buttonOff.setVisibility(View.VISIBLE);
}
});
TextView listChildText = (TextView) convertView.findViewById(R.id.list_item);
listChildText.setText(childText);
return convertView;
}
답변을 주셔서 감사합니다. 그러나 초보자로서 getFirstButtonVisibility()는 무엇입니까? – LastR
getFirstButtonVisibility() 및 setFirstButtonVisibility()는 구현해야하는 메서드입니다. 먼저 행 레벨을 버튼 상태로 매핑하는 클래스 레벨 변수 인 해시 맵을 만듭니다. 그런 다음 메서드를 통해 값을 가져오고 해시 맵에 직접 액세스하십시오. 자신을 구현하려고하면 배우는 데 도움이됩니다. – Aaqib