이 문제에 대한 사용자 정의 CursorAdapter 내 머리에 잠시 동안 갇혀있다.안드로이드 : 대체 자원
내가해야 할 일은 : 리스트 뷰의 항목에 대한 자원을 교류와 목록보기를 표시합니다.
내 문제가 무엇 : 은 지금까지 나는 자원을 대체하고 데이터를 표시하지 않거나 데이터가 아닌 다른 자원을 표시 할 수 있습니다. 첫 번째 항목은 매번 잘 작동하지만 이후에는 형성되지 않습니다. 나는 아주 가깝다고 생각하지만, 무엇이 잘못 될지 생각할 수 없다.
나는 무엇을 했는가? 커스텀 단순 커서 어댑터를 사용했다.
코드입니다:
문자열 []에서 = 새로운 String [] {(단지 관련 부분을 보여주는)
public class DialogCursor extends SimpleCursorAdapter {
private LinearLayout wrapper;
private TextView burbuja;
public DialogCursor(Context context, int layout, Cursor c, String[] from,
int[] to, int flags) {
super(context, layout, c, from, to, flags);
// TODO Auto-generated constructor stub
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
if (row == null) {
Context context = parent.getContext();
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.dialogo_row, parent, false);
}
burbuja = (TextView) row.findViewById(R.id.idiomaselec);
wrapper = (LinearLayout) row.findViewById(R.id.wrapper);
//get reference to the row
View view = super.getView(position, convertView, parent);
Log.d("Dialogo","enters getview");
Log.d("Dialogo",Integer.toString(position));
//check for odd or even to set alternate colors to the row background
if(position % 2 == 0){
Log.d("Dialogo","Even");
burbuja.setBackgroundResource(R.drawable.bubble_green);
wrapper.setGravity(Gravity.LEFT);
}
else {
Log.d("Dialogo","not even");
burbuja.setBackgroundResource(R.drawable.bubble_yellow);
wrapper.setGravity(Gravity.RIGHT);
}
return row;
}
} 커서 어댑터가이 다른 클래스에서 호출됩니다
DialogoTable.TABLE_DIALOGO + "." + columna};
// 우리가 매핑 할 UI의 필드 final int [] to = new int [] {R.id.idiomaselec};
Log.d("Dialogo","entra en fillData2");
getLoaderManager().initLoader(0, null, this);
if (bot) {
Log.d("Dialogo","entra en fillData2.5");
getLoaderManager().restartLoader(0, null, this);
}
adapter2 = new DialogCursor(this, R.layout.dialogo_row, null, from, to, 0);
setListAdapter(adapter2);
그리고 출력 : 내가 행 (코드의 마지막 줄) 를 반환하면 내가보기 (코드의 마지막 줄)을 반환하는 경우 내가 올바른 장소에 있지만 데이터 와 배경 자료를 얻을 내가 얻을 데이터가 있지만 첫 번째 항목 만 오른쪽 백그라운드 자원을가집니다.
마지막 주 : 나는이 예를 http://adilsoomro.blogspot.com/2012/12/android-listview-with-speech-bubble.html 을 따랐다하지만 난 내 DB에서 데이터를 wnat 때문에 클래스 메시지를 작성 싶지 않다.
당신의 도움 :) 내가 커서 위치에 따라 다른 자원 cursorAdapter 사용자 정의를 할 수 있었다 유사한 경우