Фоновый экран становится черным, и я не могу управлять этим при извлечении данных из таблицы в Android - PullRequest
1 голос
/ 07 февраля 2012

Данные извлекаются, и я показываю их в виде текста. Но проблема в том, что когда отображаются данные таблицы, фоновый экран становится черным, и мы не можем его контролировать. Код ниже которого я использую

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 Ответ

2 голосов
/ 07 февраля 2012

В вашем коде есть незначительные проблемы.

  1. вы проверяете курсор на нулевое значение после того, как вы вызвали c.moveToFirst()
  2. Создание новых объектов в цикле while - плохая идея (яозначает Имя и Оценка)
  3. Вы должны быть уверены, что ваш запрос работает, поэтому приведите еще один случай, когда вы отображаете в своем TextView, что результаты не были найдены.

В основном ваше использование TextViewкажется правильным (только что проверил, что он работает и без LayoutParams).Я предполагаю, что каким-то образом ваша база данных не возвращает ожидаемые значения.Вы должны начать отладку и проверить, к какому оператору относится ваша программа.

Видите ли вы свой System.out.println?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...