如何将多个选定项目传递给第一个活动(仅选定项目)和存储的共享首选项

时间:2015-09-18 17:33:45

标签: android gridview shared preference

我是一名新的Android开发人员,我需要将多个选定的网格视图项从一个活动传递到另一个活动。然后选择按所选顺序存储并使用共享首选项的项目。
请帮助我。

我的第二项活动

公共类MainActivity扩展了Activity实现OnClickListener {

ArrayList<String> resultArr;
Button add, exit;
GridView grid;
baseadapter adapter;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    resultArr = getIntent().getStringArrayListExtra("data");

    grid = (GridView) findViewById(R.id.main_grid);
    exit = (Button) findViewById(R.id.button2);


    if (resultArr != null) {
        adapter = new baseadapter();
        grid.setAdapter(adapter);
    }

    grid.setOnItemLongClickListener(new OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                int position, long arg3) {
            // TODO Auto-generated method stub
            resultArr.remove(position);
            adapter.notifyDataSetChanged();
            Toast.makeText(getApplicationContext(), "Deleted",
                    Toast.LENGTH_SHORT).show();
            return false;
        }
    });

    add = (Button) findViewById(R.id.button1);
    add.setOnClickListener(this);

    exit.setOnClickListener(new OnClickListener() {

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

            System.exit(0);
        }
    });
}

public void onClick(View v) {
    // TODO Auto-generated method stub
    Intent intent = new Intent(MainActivity.this, ListActivity.class);
    startActivity(intent);
}

class baseadapter extends BaseAdapter {

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return resultArr.size();
    }

    @Override
    public Object getItem(int arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getView(int position, View arg1, ViewGroup arg2) {
        LayoutInflater layoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
        View view = layoutInflater.inflate(R.layout.base, null);
        ImageView image = (ImageView) view.findViewById(R.id.imageView1);
        image.setImageResource(ListActivity.image_items[Integer.parseInt(resultArr.get(position))]);
        return view;
    }
}

}

我的另一项活动

公共类MainActivity扩展了Activity实现OnClickListener {

ArrayList<String> resultArr;
Button add, exit;
GridView grid;
baseadapter adapter;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    resultArr = getIntent().getStringArrayListExtra("data");

    grid = (GridView) findViewById(R.id.main_grid);
    exit = (Button) findViewById(R.id.button2);


    if (resultArr != null) {
        adapter = new baseadapter();
        grid.setAdapter(adapter);
    }

    grid.setOnItemLongClickListener(new OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                int position, long arg3) {
            // TODO Auto-generated method stub
            resultArr.remove(position);
            adapter.notifyDataSetChanged();
            Toast.makeText(getApplicationContext(), "Deleted",
                    Toast.LENGTH_SHORT).show();
            return false;
        }
    });

    add = (Button) findViewById(R.id.button1);
    add.setOnClickListener(this);

    exit.setOnClickListener(new OnClickListener() {

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

            System.exit(0);
        }
    });
}

public void onClick(View v) {
    // TODO Auto-generated method stub
    Intent intent = new Intent(MainActivity.this, ListActivity.class);
    startActivity(intent);
}

class baseadapter extends BaseAdapter {

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return resultArr.size();
    }

    @Override
    public Object getItem(int arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getView(int position, View arg1, ViewGroup arg2) {
        LayoutInflater layoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
        View view = layoutInflater.inflate(R.layout.base, null);
        ImageView image = (ImageView) view.findViewById(R.id.imageView1);
        image.setImageResource(ListActivity.image_items[Integer.parseInt(resultArr.get(position))]);
        return view;
    }
}

}

0 个答案:

没有答案