数据已获取,我将其显示在 TextView 中。但问题是当显示表格数据时,背景屏幕变黑,我们无法控制它。代码在下面,我正在使用
public class high_score extends Activity{
SQLiteDatabase mydatabase=null;
String Data="";
String TableName="users";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.high_score);
// RelativeLayout main=new RelativeLayout(this);
RelativeLayout main=(RelativeLayout)findViewById(R.id.main);
main.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.highestlevel_menu));
try
{
mydatabase=this.openOrCreateDatabase("testdata", MODE_PRIVATE, null);
Cursor c=mydatabase.rawQuery("SELECT * FROM "+TableName, null);
int column1=c.getColumnIndex("name");
int column2=c.getColumnIndex("user_score");
c.moveToFirst();
if(c!=null)
{
do
{
String Name=c.getString(column1);
int Score=c.getInt(column2);
Data=Data+Name+" "+Score+"\n";
System.out.println("name"+Name+" score"+Score);
}while(c.moveToNext());
TextView display_data=new TextView(this);
display_data.setText(Data);
setContentView(display_data);
main.addView(display_data, null);
}
/*TextView tv=(TextView)findViewById(R.id.tv);
tv.setText(Data);
setContentView(tv);*/
}catch(Exception ex)
{
Log.e("ERROR","ERROR" ,ex);
}
finally
{
if(mydatabase!=null)
mydatabase.close();
}
main.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent start = new Intent(high_score.this,KtriviaActivity.class);
startActivity(start);
finishActivity(0);
}
});
}
}
我的布局代码如下
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/main" >
通过此表数据已获取并显示,但其他内容无法正常工作。请帮助我,我需要尽早完成它。
最佳答案
您的代码有一些小问题。
- 在调用
c.moveToFirst()
后检查光标是否为 null
- 在 while 循环中创建新对象是个坏主意(我的意思是名称和分数)
- 您应该确保您的查询有效,因此在您的 TextView 中显示未找到任何结果的其他情况。
基本上您的 TextView 用法似乎是正确的(只是检查它在没有 LayoutParams 的情况下也能正常工作)。我猜你的数据库以某种方式没有返回预期值。您应该开始调试并检查您的程序执行了哪条语句。
你看到你的System.out.println
了吗?
关于android - 当我从 android 中的表中获取数据时,背景屏幕变黑并且我对此无法控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9173555/