데이터베이스의 두 열 데이터를 String Array
및 Int Array
으로 가져옵니다. 그리고 난 텍스트보기를 통해 데이터를 표시하려고합니다. 그러나 그것은 보여지지 않고 약간의 오류가 있습니다. 배열에 들어오는 데이터는 표시되지 않습니다.데이터가 문자열 및 Int 배열에서 안드로이드의 Textview에 표시되지 않습니다.
try
{
mydatabase=this.openOrCreateDatabase("testdata", MODE_PRIVATE, null);
Cursor c=mydatabase.rawQuery("SELECT DISTINCT name,MAX(user_score) AS max_score FROM "+TableName+" WHERE user_score IS NOT NULL GROUP BY name ORDER BY max_score DESC LIMIT 3" , null);
int column1=c.getColumnIndex("name");
int column2=c.getColumnIndex("max_score");
c.moveToFirst();
if(c!=null)
{ int i=0;
do
//for(int i=0;c.moveToNext();i++)
{
String Name=c.getString(column1);
int Score=c.getInt(column2);
Data[i]=Name;
Data1[i]=Score;
/*Data[1]=Name;
Data1[1]=Score;*/
System.out.println("i:"+i+"Data[i]:"+Data[i]+"Data1[i]:"+Data1[i]);
System.out.println("name"+Name+" score"+Score);
i++;
}while(c.moveToNext());
TextView tv=(TextView)findViewById(R.id.tv);
TextView points=(TextView)findViewById(R.id.points);
TextView tv1=(TextView)findViewById(R.id.tv1);
TextView points1=(TextView)findViewById(R.id.points1);
tv.setText(Data[0]);
points.setText(Data1[0]);
tv1.setText(Data[1]);
points1.setText(Data1[1]);
setContentView(main);
}
내 로그 캣은 아래
내 코드입니다 : 당신의 오류 로그에 따르면
06-04 13:40:35.761: E/ERROR(1347): android.content.res.Resources$NotFoundException: String resource ID #0x9a
06-04 13:40:35.761: E/ERROR(1347): at android.content.res.Resources.getText(Resources.java:201)
06-04 13:40:35.761: E/ERROR(1347): at android.widget.TextView.setText(TextView.java:2817)
06-04 13:40:35.761: E/ERROR(1347): at com.k_trivia_cricket.com.high_score.onCreate(high_score.java:76)
06-04 13:40:35.761: E/ERROR(1347): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-04 13:40:35.761: E/ERROR(1347): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-04 13:40:35.761: E/ERROR(1347): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-04 13:40:35.761: E/ERROR(1347): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-04 13:40:35.761: E/ERROR(1347): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-04 13:40:35.761: E/ERROR(1347): at android.os.Handler.dispatchMessage(Handler.java:99)
06-04 13:40:35.761: E/ERROR(1347): at android.os.Looper.loop(Looper.java:123)
06-04 13:40:35.761: E/ERROR(1347): at android.app.ActivityThread.main(ActivityThread.java:4627)
06-04 13:40:35.761: E/ERROR(1347): at java.lang.reflect.Method.invokeNative(Native Method)
06-04 13:40:35.761: E/ERROR(1347): at java.lang.reflect.Method.invoke(Method.java:521)
06-04 13:40:35.761: E/ERROR(1347): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-04 13:40:35.761: E/ERROR(1347): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-04 13:40:35.761: E/ERROR(1347): at dalvik.system.NativeStart.main(Native Method)
tv.setText (Data [0] + ""); res id가 아닌 문자열로 전달하십시오 ... –
setContentView (main); 마지막에 배치 된 행은 super.onCreate() 메소드 바로 다음에 배치해야합니다. – Lucifer