내 응용 프로그램에 대한 HighscoreList를 만들려고합니다. 이 목록은 SQL 데이터베이스를 기반으로합니다. 이름을 저장하면 스코어가 잘 작동합니다. 리스트 뷰는이 행 XML 파일을 기반으로합니다SimpleCursorAdapter로 설정된 ListView의 ImageView 리소스를 변경하는 방법
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingTop="4dip"
android:paddingBottom="6dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:id="@+id/NAME_CELL"
android:layout_width="250dip"
android:layout_height="wrap_content"
android:textSize="20dip" />
<TextView android:id="@+id/SCORE_CELL"
android:layout_width="20dip"
android:layout_height="wrap_content"
android:textSize="20dip" />
<ImageView android:id="@+id/PICTURE_CELL"
android:layout_width="50dip"
android:layout_height="20dip"
android:src="@drawable/no_picture" />
그리고 예를 들어 플레이어가 PICTURE_CELL 이미지 뷰는 이미지를 표시해야합니다 (10)의 점수에 도달하면 것을 원한다. 은 지금 나는 최고 기록에 대한 데이터베이스를 통해가는 모습되는 커서가 :
public void drawPictures()
{
if (dbCursor.moveToFirst()) {
do
{
if(dbCursor.getInt(2)<=4)
{
Log.d(TAG, "no picture");
}
else if((dbCursor.getInt(2) > 4) && (dbCursor.getInt(2) <= 9))
{
Log.d(TAG, "picture1");
}
else if((dbCursor.getInt(2) > 9) && (dbCursor.getInt(2) <= 19))
{
Log.d(TAG, "picture2");
}
else if(dbCursor.getInt(2) > 20)
{
Log.d(TAG, "picture3");
}
}
while (dbCursor.moveToNext());
을하지만 내가 각 행의 모든 이미지 뷰의 리소스를 변경하는 방법을 모른다. 제발 도와주세요.이 날 동안 나를 죽이고 있습니다!
감사합니다.
당신은 정말 "dbCursor.getInt (2)"이 같은 메시지를 피해야한다 좋은 습관이 아닙니다.2 대신에 행을 식별하는 데이터베이스 도우미로부터 노출 된 문자열 상수가 있어야합니다. – JoxTraex