我有一个使用setContentView启动列表视图的活动,然后我有一个If-Else条件。在语句的 If 部分,我使用simpleAdapter在listview中放置一个新布局,从光标放置其他数据。在 Else 部分,我只想在标签中添加一个句子来提供一些信息。我怎样才能做到这一点?我尝试过参数和textview,但它们没有用。我试图放入另一个setcontentView,但它也无法正常工作。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listview);
doMySearch()是一个游标,它根据用户输入的关键字从数据库中提取数据。
public void onPostExecute() {
SimpleCursorAdapter adapter;
Int count = doMysearch().getCount;
If (count >= 1){
adapter=new SimpleCursorAdapter(this, R.layout.activity_results,
doMySearch(), new String[] {
DB.COL_NAME,
DB.COL_CITY },
new int[] { R.id.lblName, R.id.lblCity },
0);
setListAdapter(adapter);
}
Else {
}
我只想要一个句子,上面写着“没有找到数据”的Else部分。感谢。
答案 0 :(得分:1)
我不清楚你在问什么,但我们走了。
ListView中的空视图设置为空列表,您必须在当前布局中添加另一个空视图。然后,您将在以下代码中设置空视图布局:
//add to your layout
<LinearLayout
android:id="@+id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="There is no item" >
</TextView>
</LinearLayout>
//set empty view
ListView listView = (ListView) container.findViewById(R.id.list);
LinearLayout emptyView = (LinearLayout) container.findViewById(R.id.empty);
listView.setEmptyView(emptyView);
答案 1 :(得分:0)
据我所知,由于列表视图标签没有显示,对吧?“
编辑:
好吧,我想我现在明白了。
为了简单起见,您可以使用myList.setVisibility(View.GONE);
隐藏ListView
然后使用已保存错误字符串的myLabel.setVisibility(View.VISIBLE)
显示预制标签。
你可以用更难的方式制作一个StringArray,比如(例如)strings.xml
<string-array name="error">
<item>No results found</item>
</string-array>
然后,在你的else块中你可以做那样的事情:
ListView lv = (ListView) findViewById(R.id.myList);
String[] content = getResources().getStringArray(R.array.error);
ArrayAdapter<String> typeList = new ArrayAdapter<String>(this, R.layout.simple_list_item_custom, content);
lv.setAdapter(typeList);