如果没有结果,Android将用图像替换Listview

如果没有结果,Android将用图像替换Listview,android,xml,listview,Android,Xml,Listview,我试图实现一个函数,如果填充listview的光标为空,将显示一个图像而不是listview 我试着把图片放进去,但它在列表视图的上方或下方,破坏了布局 我目前正在使用listFragment,但我的问题是定位图像。如何放置它,使图像在调用之前“不可见” XML 当没有数据时,可以将ListView可见性设置为GONE,将图像视图设置为VISIBLE。如果有数据,则执行相反的操作 或者,您可以使用列表适配器的setEmptyView API。您可以将ListView可见性设置为GONE,并在没有

我试图实现一个函数,如果填充listview的光标为空,将显示一个图像而不是listview

我试着把图片放进去,但它在列表视图的上方或下方,破坏了布局

我目前正在使用listFragment,但我的问题是定位图像。如何放置它,使图像在调用之前“不可见”

XML


当没有数据时,可以将ListView可见性设置为GONE,将图像视图设置为VISIBLE。如果有数据,则执行相反的操作


或者,您可以使用列表适配器的setEmptyView API。

您可以将ListView可见性设置为GONE,并在没有数据时将图像视图设置为VISIBLE。如果有数据,则执行相反的操作


或者,您也可以使用列表适配器的setEmptyView API。

将imageview添加到xml中 将其可见性设置为“已消失”

在光标中-如果设置imageview.setVisibilityView.VISIBLE和listView.setVisibilityView.GONE为空 在你快乐的状态下做相反的事情

不要忘记预先用变量的ID初始化变量imageView和listView

您的xml


将imageview添加到xml中 将其可见性设置为“已消失”

在光标中-如果设置imageview.setVisibilityView.VISIBLE和listView.setVisibilityView.GONE为空 在你快乐的状态下做相反的事情

不要忘记预先用变量的ID初始化变量imageView和listView

您的xml


类似于@yUdoDis答案,但我推荐一个

您的layout.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ViewSwitcher
    android:id="@android:id/empty"
    android:visibility="gone"
    android:layout_weight="0"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

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

<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:src="@drawable/yourpicture"
    android:visibility="gone"
    android:id="@+id/imageview"/>

</ViewSwitcher>

<android.support.design.widget.FloatingActionButton
    android:id="@+id/filterButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:layout_gravity="bottom|right"
    android:layout_marginBottom="63dp"
    android:layout_marginRight="16dp"
    android:clickable="true"
    android:src="@drawable/ic_filter"
    app:backgroundTint="@color/floatingButton" />


</android.support.design.widget.CoordinatorLayout>

类似于@yUdoDis答案,但我推荐一个

您的layout.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ViewSwitcher
    android:id="@android:id/empty"
    android:visibility="gone"
    android:layout_weight="0"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

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

<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:src="@drawable/yourpicture"
    android:visibility="gone"
    android:id="@+id/imageview"/>

</ViewSwitcher>

<android.support.design.widget.FloatingActionButton
    android:id="@+id/filterButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:layout_gravity="bottom|right"
    android:layout_marginBottom="63dp"
    android:layout_marginRight="16dp"
    android:clickable="true"
    android:src="@drawable/ic_filter"
    app:backgroundTint="@color/floatingButton" />


</android.support.design.widget.CoordinatorLayout>

谢谢你的建议,遇到了一些问题,所以选择了yUdoDis的答案,还有一个!我真的很喜欢使用viewswitcher的概念…这里是我的cookie。谢谢你的建议,遇到了一些问题,所以选择了yUdoDis的答案,还有一个!我真的很喜欢使用viewswitcher的概念…拿着我的cookie。
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/coordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:src="@drawable/yourpicture"
        android:visibility="gone"
        android:id="@+id/imageview"/>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/filterButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_gravity="bottom|right"
        android:layout_marginBottom="63dp"
        android:layout_marginRight="16dp"
        android:clickable="true"
        android:src="@drawable/ic_filter"
        app:backgroundTint="@color/floatingButton" />


</android.support.design.widget.CoordinatorLayout>
ImageView imageView = (ImageView) findViewById(R.id.imageview);
    ListView listView = (ListView) findViewById(R.id.listview);
    if(cursor!=null && cursor.getCount()>0){

        imageView.setVisibility(View.VISIBLE);
        listView.setVisibility(View.GONE);

    }else{
        imageView.setVisibility(View.GONE);
        listView.setVisibility(View.VISIBLE);
    }
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ViewSwitcher
    android:id="@android:id/empty"
    android:visibility="gone"
    android:layout_weight="0"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

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

<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:src="@drawable/yourpicture"
    android:visibility="gone"
    android:id="@+id/imageview"/>

</ViewSwitcher>

<android.support.design.widget.FloatingActionButton
    android:id="@+id/filterButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:layout_gravity="bottom|right"
    android:layout_marginBottom="63dp"
    android:layout_marginRight="16dp"
    android:clickable="true"
    android:src="@drawable/ic_filter"
    app:backgroundTint="@color/floatingButton" />


</android.support.design.widget.CoordinatorLayout>
ViewSwitcher switcher = (ViewSwitcher) findViewById(android.R.id.empty);
if(cursor!=null && cursor.getCount()>0){
    switcher.setDisplayedChild(1);
}else{
    switcher.setDisplayedChild(0);
}