您好我创建了一个简单的应用程序,用于显示从数据库到列表视图的内容,但我的列表视图不显示任何数据我是初学者,我需要一些帮助。
在下方提供我的列表视图课程
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>
答案 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}}。