列表视图未显示

时间:2013-10-22 03:58:29

标签: android android-listview android-sqlite

您好我创建了一个简单的应用程序,用于显示从数据库到列表视图的内容,但我的列表视图不显示任何数据我是初学者,我需要一些帮助。

在下方提供我的列表视图课程

public class Show extends Activity {

    //SQLiteDatabase db;
    //Datahelper dh;
    Context context=this;
    Dataclass dc;

    private ListView mainListView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.show);

        mainListView=(ListView)findViewById(R.id.list);

        //getDetails();
        dc=new Dataclass(this);
        Bundle bundle=getIntent().getExtras();
        String message=bundle.getString("MSG");
        List<String> friendlist=dc.getDetails(message);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_activated_1,friendlist);

        mainListView.setAdapter(adapter);
    }

    public void onDestroy() {
        super.onDestroy();
        dc.close();
    }
}

我已经使用bundle将数据从一个活动传递到此活动,我已经获得了数据,但没有从数据库中检索数据。

从下面的数据类给出m y getdetails函数

public List<String> getDetails(String message) {
    List<String> Friendlist = new ArrayList<String>(); 

    String selectQuery="SELECT * FROM Mytables WHERE Name='" + message + "' ";
    db = dh.getWritableDatabase();

    Cursor cursor = db.rawQuery(selectQuery, null);
    cursor.moveToFirst();
    while(cursor.moveToNext()) {
        Friendlist.add(cursor.getString(1));
    }
    return Friendlist;
}

为下面的列表活动提供我的xml布局

           <?xml version="1.0" encoding="utf-8"?>
         <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:orientation="vertical" 
             >

          <ListView
          android:id="@+id/listview"
           android:layout_width="match_parent"
            android:layout_height="wrap_content" >
          </ListView>

          </LinearLayout>

2 个答案:

答案 0 :(得分:0)

尝试将listview的背景颜色设置为红色,看它是NO-CONTENT还是DID NOT DISPLAY。

答案 1 :(得分:0)

从您的布局中我可以看到您没有ID为“list”mainListView=(ListView)findViewById(R.id.list);的ListView元素。由于您运行的所有操作都假定存在此元素,因此可能这就是屏幕上没有任何内容的原因。

我还建议您不要继承自Activity,而应继承ListActivity并使用现有方法处理ListView,如getListView()setListAdapter(adapter),并使ListView保持默认ID { {1}}。