2 개의 텍스트 상자와 확인란이 들어있는 조각 목록을 부 풀리는 활동이 있습니다. 내 목록에 잘 채 웁니다. 그러나 확인란을 선택하면 관련 조각 (IE의 상자 2를 선택했을 때 IE가 getView에 의해 호출 된 마지막 상자 인 경우 상자 8이 확장 될 것입니다.) 대신 getView()가 호출 한 마지막 조각을 참조합니다.) 어떻게 해결할 수 있습니까? 코드는 다음과 같습니다GetView ListFragment checkboox 문제
package com.bango.chdebug;
import java.util.ArrayList;
import java.util.UUID;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ListView;
import android.widget.TextView;
public class VoteListFragment extends ListFragment {
private ArrayList<MediaItem> myML;
public static boolean myCheckBoxState = false;
private ArrayList<UUID> voteList;
private MediaItem temp;
private int maxVote = 0;
private CheckBox voteBox;
public static String VOTE_KEY = "vote";
public String TAG = "NewMediaList";
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
temp = new MediaItem();
if(savedInstanceState != null){
myCheckBoxState = savedInstanceState.getBoolean(VOTE_KEY, false);
}
getActivity().setTitle("New Movie List");
voteList = new ArrayList<UUID>();
myML = MediaDB.get(getActivity()).getVoteMediaItems();
MediaAdapter medAdapt = new MediaAdapter(myML);
setListAdapter(medAdapt);
}
private class MediaAdapter extends ArrayAdapter<MediaItem> {
public MediaAdapter(ArrayList<MediaItem> mediaItems) {
super(getActivity(), 0, mediaItems);
// mediaItems = parseOfficialList(mediaItems);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if (convertView == null) {
convertView = getActivity().getLayoutInflater().inflate(
R.layout.new_media_list_item, null);
}
temp = getItem(position);
TextView medTitle = (TextView) convertView
.findViewById(R.id.vote_media_title);
TextView medDate = (TextView) convertView
.findViewById(R.id.vote_media_date);
voteBox = (CheckBox) convertView
.findViewById(R.id.vote_media_cb);
medTitle.setText(temp.getMyTitle());
voteBox.setEnabled(true);
voteBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
Log.d("onresume", "On Check called for " + temp.getMyTitle());
}
});
return convertView;
}
}
}