3

我有一个带有 getView 的类,它处理 onclick 侦听器,该侦听器将删除 Arraylist 中的数据,该数据位于另一个在活动中扩展的类中,问题是它返回一个空指针。

这是我处理 Arraylist 的活动

public ArrayList<String> imagesFileName = new ArrayList<String>();
public ArrayList<HashMap<String, String>> mylist;


//method for deleting data in array list and will going to use in another class
public void deleteFile(int i){
    imagesFileName.remove(i);
    mylist.remove(i);
    adapter.notifyDataSetInvalidated();

}

这是我的类,它包含一个 getView() 并将使用我在活动中声明的方法

Activity activity = new Activity();
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = LayoutInflater.from(context);
    View rowView = null;
    try{
    rowView = inflater.inflate(resource, null, true);
    TextView textViewTitle = (TextView) rowView.findViewById(to[0]);
    EditText textViewSubtitle = (EditText) rowView.findViewById(to[1]);
    TextView textViewSubtitle1 = (TextView) rowView.findViewById(to[2]);
    TextView textViewSubtitle2 = (TextView) rowView.findViewById(to[3]);
    final TextView textViewSubtitle3 = (TextView) rowView.findViewById(to[4]);
    TextView textViewId = (TextView) rowView.findViewById(to[5]);

    final String id = textViewId.getText().toString();
        textViewSubtitle3.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View view) {
                // TODO Auto-generated method stub

                activity.deleteFile(id);//here is my method in my Activiy
            }
        });

当我在同一活动中使用该方法时,它可以工作。但是当我将它用于另一个类时,它会返回一个 indexoutofbounds。

4

3 回答 3

3

我终于弄清楚我需要的只是将我的活动和班级加入一个页面中,以便班级能够访问我的数组列表。

于 2013-07-05T01:25:34.677 回答
0

deleteFile() 的参数类型是整数,但您通过在 getView() 函数中传递字符串来调用它。你可以先检查一下这个问题。

于 2013-07-05T01:25:54.397 回答
0

就个人而言,我会将数组放在共享首选项中。这意味着您将以标准且易于理解的方式访问数据。

于 2013-07-05T01:28:45.820 回答