안녕하세요, 어댑터 사용자 정의 클래스에서 findViewById를. 내 getView에서 setOnCheckedChangeListener 및 onCheckedChanged 처리기를 내 체크 박스에 구현했습니다.안드로이드 전화는 <p></p> 그래서 나는 각 행의 체크 박스입니다 항목을 가지고있는 사용자 정의 어댑터와 사용자 정의 목록보기를
이제 문제는 다음과 같습니다
나는 그렇게 관련된 가격이 내가 (할 각 항목에 대해 그 가정의 값으로 외부 텍스트 뷰를 업데이 트하려는 목록의 항목 중 하나를 선택 취소/체크 할 때마다 나는 목록 아래에 총 가격을 보여주고 싶다).
어댑터의 getView에서 "외부"보기에 어떻게 접근해야합니까? 다른 해결 방법은 무엇입니까?
CheckBox name = (CheckBox) view.findViewById(R.id.product);
name.setText(content[i][0]);
final View v = view;
final int position = i;
name.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton group, boolean isChecked) {
setCheckedItem(position);
EditText quantity = (EditText) v.findViewById(R.id.product_quantity);
content[position][3] = quantity.getText().toString();
Iterator<String> it = getCheckedItems().values().iterator();
Double total = 0.0;
for (int i=0;i<getCheckedItems().size();i++){
Integer quantity_p = Integer.parseInt(getItem(position)[3]);
Double price = Double.parseDouble(getItem(position)[2]);
total += quantity_p*price;
}
TextView total_price = (TextView) findViewById(R.id.total_products_price);
total_price.setText(total.toString());
}
});
주의 마지막 두 줄 :
나는 내 사용자 지정 어댑터의 getView 기능 여기에 내 코드의 일부를 남겨 나는 내가 findViewById를 호출 할 수 없습니다 알고 있지만 나도 몰라 무엇을 지금까지해야 할 일. 어떤 제안이라도 좋을 것입니다. 고마워요.
여기에 클래스 코드와 xml 파일을 입력 할 수 있습니까? –
어댑터 클래스를 활동 클래스에 넣으십시오. –