현재 각 단순 항목에 대해 imagbutton을 사용할 수 있도록 simplecursor 어댑터를 재정의하려고 시도하고 있습니다. 지금까지SimpleCursorAdapter 무시 잘못된 데이터 및 위치가 반환되었습니다.
코드 :
public class MyCursorAdapter extends SimpleCursorAdapter {
Cursor mCursor;
final int tIndex;
final class ViewHolder{
public TextView textView;
public ImageButton imageButton;
}
public MyCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to) {
super(context, layout, c, from, to);
mCursor = c;
tIndex = mCursor.getColumnIndex(DBAdapter.TASK);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (mCursor.moveToPosition(position)){
ViewHolder viewHolder;
final int i = position;
if (convertView == null){
LayoutInflater inflater = MainActivity.this.getLayoutInflater();
viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.listview,parent,false);
viewHolder.textView = (TextView)convertView.findViewById(R.id.taskName);
viewHolder.imageButton = (ImageButton)convertView.findViewById(R.id.edit_task);
viewHolder.imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d("LOG_TAG", "It Works: " + i);
}
});
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder)convertView.getTag();
}
String task = mCursor.getString(tIndex);
viewHolder.textView.setText(task);
}
return convertView;
}
}
나는 데이터베이스의 내용을 표시하고 데이터베이스에 데이터를 추가하기 위해 다른 활동을 사용하는 부모님 활동을 사용합니다. 나는 onResume에서 부모 활동, 사용자가 부모 활동에 반환 보장하기 위해 대체 활동() 마무리() 메서드를 호출 내가 사용 :
사용자가 부모 활동에 반환@Override
protected void onResume() {
super.onResume();
cursor.moveToFirst();
myCursorAdapter.swapCursor(cursor = db.getAllRows());
list.startLayoutAnimation();
amountTasks();
}
, 내가 찾은 데이터가 잘못 목록보기의 텍스트가 마지막 항목의 중복 것, 보여되며, 위치는 0
될 것 난에 return 문을 변경하는 경우 :
return super.getView(position,convertView,parent)
텍스트가 올바르게 표시되지만 위치는 여전히 0을 반환합니다.
왜 그런지 알고 싶습니다.
대신 귀하의 제안에 감사드립니다 @pskink – pskink
을 http://developer.android.com/reference/android/widget/SimpleCursorAdapter.ViewBinder.html를 사용 SimpleCursorAdapter을 연장 해달라고, 내가 언급 한의 구현에 보이는 것 function :) –