0

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

在下面给出我的列表视图类

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 将数据从一个活动传递到了这个活动,并且我得到了数据,但是没有从数据库中检索到任何数据..

从下面的数据类中给出我的 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>
4

2 回答 2

0

尝试将列表视图的背景颜色设置为红色,看看它是无内容或不显示。

于 2013-10-22T04:30:06.477 回答
0

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

我还建议不要从 Activity 继承,而是应该从 ListActivity 继承并使用现有的方法来处理 ListView 之类getListView()的,setListAdapter(adapter)并保持你ListView的默认 id android:id="@android:id/list"

于 2013-10-24T16:56:42.433 回答