相关疑难解决方法(0)

notifyDataSetChanged示例

我正在尝试使用我Android ApplicationnotifyDataSetChanged()方法,ArrayAdapter但它对我不起作用.

我在这里找到答案,notifyDataSetChanged()应该在主线程中运行,但是没有例子.

任何人都可以发送一个例子或至少一个链接?!

android android-arrayadapter notifydatasetchanged

160
推荐指数
4
解决办法
29万
查看次数

带有过滤器的ArrayAdapter的ArrayIndexOutOfBoundsException

我正在ArrayIndexOutOfBoundsException使用以下给定的自定义实现ArrayAdapter启用过滤.我看到过滤代码返回正确的结果集,但是当过滤后呈现视图时,我得到一个异常.我在这做错了什么.任何帮助都是适用的.

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Filter;
import android.widget.ImageView;
import android.widget.TextView;
import com.syntrio.iwm.act.R;

public class IWMArrayAdapter<T> extends ArrayAdapter<T>{

    Activity activity;
    List<T> mItems;
    String[] icons;
    boolean isArrowNeeded=false;
    boolean isIconNeeded=false;
    private ItemsFilter mFilter;


    public IWMArrayAdapter(Activity context,List<T> items) {
        super(context, R.layout.item_row,items);
        activity=context;
        mItems=items;
    }

    public void setIcons(String[] iconList){
        if(iconList!=null && iconList.length>0){
            icons=iconList;
            isIconNeeded=true;
        }
    }
    public void setArrowNeeded(){
        isArrowNeeded=true;
    }

    @Override
    public View getView(int position, View convertView,ViewGroup parent) { …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter

10
推荐指数
1
解决办法
3259
查看次数

ArrayAdapter IndexOutOfBoundsException

我正试图通过onclick动作从listview中删除一个项目.但我得到arrayindexoutofbound异常.我从11个大小的数组中删除了项目,但它仍然试图获得11.项目.

        public void onClick(View v) {
            data.remove(getItemIndexByID(filteredData.get(position).getID()));
            filteredData.remove(position);      
            notifyDataSetChanged();

            flipMenu(lastHolder, 1);
            showPopup("Item Deleted"); 


        }
Run Code Online (Sandbox Code Playgroud)

日志:

    11-26 17:16:32.159: E/AndroidRuntime(26991): FATAL EXCEPTION: main
11-26 17:16:32.159: E/AndroidRuntime(26991): java.lang.IndexOutOfBoundsException: Invalid index 10, size is 10
11-26 17:16:32.159: E/AndroidRuntime(26991):    at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
11-26 17:16:32.159: E/AndroidRuntime(26991):    at java.util.ArrayList.get(ArrayList.java:304)
11-26 17:16:32.159: E/AndroidRuntime(26991):    at com.innovationbox.passlocker.adapters.ListViewAdapter.getView(ListViewAdapter.java:100)
11-26 17:16:32.159: E/AndroidRuntime(26991):    at android.widget.AbsListView.obtainView(AbsListView.java:2143)
11-26 17:16:32.159: E/AndroidRuntime(26991):    at android.widget.ListView.makeAndAddView(ListView.java:1831)
11-26 17:16:32.159: E/AndroidRuntime(26991):    at android.widget.ListView.fillDown(ListView.java:674)
11-26 17:16:32.159: E/AndroidRuntime(26991):    at android.widget.ListView.fillGap(ListView.java:638)
11-26 17:16:32.159: E/AndroidRuntime(26991):    at android.widget.AbsListView.trackMotionScroll(AbsListView.java:4930)
11-26 17:16:32.159: E/AndroidRuntime(26991):    at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:4087)
11-26 17:16:32.159: E/AndroidRuntime(26991):    at …
Run Code Online (Sandbox Code Playgroud)

android

4
推荐指数
1
解决办法
6204
查看次数