android - 当我从 android 中的表中获取数据时,背景屏幕变黑并且我对此无法控制

标签 android android-layout

数据已获取,我将其显示在 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" >

通过此表数据已获取并显示,但其他内容无法正常工作。请帮助我,我需要尽早完成它。

最佳答案

您的代码有一些小问题。

  1. 在调用 c.moveToFirst()
  2. 后检查光标是否为 null
  3. 在 while 循环中创建新对象是个坏主意(我的意思是名称和分数)
  4. 您应该确保您的查询有效,因此在您的 TextView 中显示未找到任何结果的其他情况。

基本上您的 TextView 用法似乎是正确的(只是检查它在没有 LayoutParams 的情况下也能正常工作)。我猜你的数据库以某种方式没有返回预期值。您应该开始调试并检查您的程序执行了哪条语句。

你看到你的System.out.println了吗?

关于android - 当我从 android 中的表中获取数据时,背景屏幕变黑并且我对此无法控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9173555/

相关文章:

android - 微调器下拉选择的值不可见 - Android

android - 指定android中编辑文本的字符数

android - 如何清除 android 中谷歌地图中的所有 map 叠加层或标记?

java - 如何保护 Android 应用程序的安全

java - Activity 作为大屏幕上的对话框

android - ConstraintLayout 在底部工作 TableView 中无法正常工作

java - 使用 customAdapter 后项目的错误位置

Android Google Map API(v2)显示当前位置不幸的是应用程序已停止错误

java.lang.ClassCastException : android. widget.LinearLayout 无法转换为 android.support.v7.widget.Toolbar

android - 带图像的多线和样式 Android 按钮