如何从另一个活动中删除数组列表中的数据

时间:2013-07-05 01:10:07

标签: android arraylist

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

这是我处理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。

3 个答案:

答案 0 :(得分:3)

我终于弄清楚我需要的是在一个页面中加入我的Activity和Class,以便Class能够访问我的数组列表。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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