如何在Android活动中放置布局?

时间:2013-06-26 08:34:18

标签: android layout textview

我有一个使用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部分。感谢。

2 个答案:

答案 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);