그래서 나는 즉시 작성한 사용자 정의 어댑터에서 목록 항목의 모양을 변경할 수 있도록 노력하고 있습니다. 내 사용자 지정 어댑터 목록 항목 내에서 단추를 클릭하면 변경할 싶습니다. This is an example of a Custom List Item looks like. 버튼을 클릭하면 레이아웃 수정 작업을 수행해야합니다. 예를 들어 Button을 클릭 한 후에 다른 단추를 숨기거나 단추의 텍스트를 변경하려고합니다. 어떤 이유로 이러한 명령을 클릭해도 아무 효과가없는 것 같습니다.내부 버튼 클릭시 사용자 정의 어댑터 내용 업데이트
궁극적 인 목표는 버튼 클릭으로 목록 항목의 크기를 조정할 수있게하는 것입니다. 그러나 내가 언급했듯이 아무런 효과가없는 것 같습니다. onClick 메서드 외부에서 가시성을 설정하는 것은 작동하는 것처럼 보이지만 내부에서 수행하는 것은 아닙니다. 코드에 도달했습니다 알고 있지만 그것을 업데이 트하지 어댑터와 관련이 있다고 생각하지만, 거기에 notifyDataSetChanged 메서드가 있습니다. 어떤 도움을 주셔서 감사합니다. 감사. notifyDataSetChanged를 호출
class CustomAdapter extends ArrayAdapter<Player> {
private static class ViewHolder {
Button button, button2;
}
public CustomAdapter(Context context, ArrayList<Player> players) {
super(context, R.layout.player_expanded, players);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder; // view lookup cache stored in tag
if (convertView == null) {
viewHolder = new ViewHolder();
LayoutInflater infater = LayoutInflater.from(getContext());
final View customView = infater.inflate(R.layout.custom_list_item, parent, false);
viewHolder.button = (Button) customView.findViewById(R.id.button);
viewHolder.button2 = (Button) customView.findViewById(R.id.button2);
viewHolder.button.setTag(position);
viewHolder.button2.setTag(position);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.button2.setVisibility(View.VISIBLE);
viewHolder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewHolder.button2.setVisibility(View.GONE); //Doesn't take effect
notifyItemChanged(Integer.valueOf(v.getTag().toString()));
}
});
return customView;
}
}
buttonGone 무엇입니까? –
죄송합니다. 단지 오타입니다. 결정된. – CrossStitch
android : focusable = "false"제거 및 시도 – comeback4you