1

hello 在我的应用程序中包含 listview.listview 包含页脚,其中包含下一个按钮 whan 用户按下下一个按钮时刷新 listview 适配器并使用通知数据集更改方法填充新问题。但是我想在数据为空时设置一条消息,从中读取一个 json 文件(来自服务器的动态 json 文件)。我使用了 setEmptyView 方法,但它会隐藏 listview 并且我的页脚也会隐藏,因此用户无法转到下一组问题。而且我没有扩展列表视图。扩展自定义baseadapter请指导我我是android新手

**

更新:-

** 我通过在 xml 中创建 textview addview 并返回 customeview 来解决它。我的 getview 方法如下所示。任何其他方式我都可以做到这一点。此代码是否可能会影响应用程序的性能。因为我正在改变另一种观点,请指导我

@Override
    public int getCount() 
    {
        if(itemDetailarraylist.size()==0)
            return 1;
        else
            return itemDetailarraylist.size();
    }

@Override
    public View getView(int position, View convertView, ViewGroup parent) 
    {

        if (itemDetailarraylist.size() == 0) {
            TextView message = new TextView(context);
            message.setText("No Data Found on This Section");
            message.setTextSize(20);
            message.setLayoutParams(new LinearLayout.LayoutParams(
                    (int) LinearLayout.LayoutParams.WRAP_CONTENT,
                    (int) LinearLayout.LayoutParams.WRAP_CONTENT));
            convertView = inflater.inflate(R.layout.nodatafound_message,null);
            ((LinearLayout)convertView).setGravity(Gravity.CENTER);
            ((LinearLayout)convertView).addView(message);
            return convertView;
        } else {
            ViewHolder holder;
            if(convertView==null)
            {------}}
}
4

2 回答 2

1

看到这个链接

如何在具有多个 ListView 的活动中为 ListView 设置一个空视图?

<TextView android:id="@+id/empty_view"
android:layout_width="fill_parent"
android:layout_height="60px"
android:text="@string/empty_text"
/>

mListView.setEmptyView(findViewById(R.id.empty_view));
于 2013-08-14T13:58:24.403 回答
0
    Update:-

** i solved it using creating textview addview into xml and return customeview. my getview method shown below.any other way can i do this. can this code may impact on the app performance. beacause i am inflecting another view please guide me

@Override
    public int getCount() 
    {
        if(itemDetailarraylist.size()==0)
            return 1;
        else
            return itemDetailarraylist.size();
    }

@Override
    public View getView(int position, View convertView, ViewGroup parent) 
    {

        if (itemDetailarraylist.size() == 0) {
            TextView message = new TextView(context);
            message.setText("No Data Found on This Section");
            message.setTextSize(20);
            message.setLayoutParams(new LinearLayout.LayoutParams(
                    (int) LinearLayout.LayoutParams.WRAP_CONTENT,
                    (int) LinearLayout.LayoutParams.WRAP_CONTENT));
            convertView = inflater.inflate(R.layout.nodatafound_message,null);
            ((LinearLayout)convertView).setGravity(Gravity.CENTER);
            ((LinearLayout)convertView).addView(message);
            return convertView;
        } else {
            ViewHolder holder;
            if(convertView==null)
            {------}}
}
于 2013-08-24T05:23:57.397 回答