无法显示列表视图

时间:2014-04-18 12:28:20

标签: android sqlite listview

无法显示列表视图。代码没有运行时错误也没有语法。我检查了我的数据库列/表名称不匹配。请提出可能的错误建议。

 package com.example.doctor;

 import java.util.ArrayList;
 import android.app.ListActivity;
 import android.content.Intent;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteException;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.Menu;
 import android.widget.ArrayAdapter;
 import android.widget.TextView;
 import android.widget.Toast;


  public class Details extends ListActivity {

public String name;
public String table;

private ArrayList<String> details = new ArrayList<String>();
private SQLiteDatabase db;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_details);

    Intent intent = getIntent();
     name = intent.getStringExtra(Viewlist.column);
     table = intent.getStringExtra(Viewlist.table_two);

    openAndQueryDatabase();

    displayResultList();


}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.details, menu);
    return true;
}

public void displayResultList() {

    TextView tView = new TextView(this);
    tView.setText("Details for the selected are as follow :");
    getListView().addHeaderView(tView);

    setListAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, details));
    getListView().setTextFilterEnabled(true);


}

public void openAndQueryDatabase() {
try {


    db = openOrCreateDatabase( "mydatabase.db", SQLiteDatabase.CREATE_IF_NECESSARY , null ); 

    Cursor cursor = db.rawQuery("select * from "+ table + " where name='"+ name + "'",  null);


    int count = cursor.getColumnCount();

    if (cursor!=null )
    { 

        if  (cursor.moveToFirst())
        {
            do 
            {
                 for (int i =0 ; i< count; i++)
                {
                String data = cursor.getString(i);
                details.add(data);
                }
            } 
            while (cursor.moveToNext()); 

        } 
    } 




}   
catch (SQLiteException se )
{   

    Log.e(getClass().getSimpleName(), "Error in the code");
} 

finally 
{

        db.close();
}

}
}

0 个答案:

没有答案