Android 如何将多个选定项传递给第一个活动(仅选定项)和存储的共享首选项
我是一名新的Android开发人员,我需要将多个选定的网格视图项从一个活动传递到另一个活动。然后将选定的项目按选定顺序存储并使用共享首选项。Android 如何将多个选定项传递给第一个活动(仅选定项)和存储的共享首选项,android,gridview,shared,preference,Android,Gridview,Shared,Preference,我是一名新的Android开发人员,我需要将多个选定的网格视图项从一个活动传递到另一个活动。然后将选定的项目按选定顺序存储并使用共享首选项。请帮助我 我的第二项活动 公共类MainActivity扩展活动实现OnClickListener{ ArrayList<String> resultArr; Button add, exit; GridView grid; baseadapter adapter; @Override protected void onCreate(Bund
请帮助我 我的第二项活动 公共类MainActivity扩展活动实现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;
}
}
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;
}
}
arraylistresultar;
按钮添加、退出;
网格视图网格;
基本适配器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
resultar=getIntent().getStringArrayListExtra(“数据”);
grid=(GridView)findviewbyd(R.id.main_grid);
退出=(按钮)findViewById(R.id.button2);
if(resultar!=null){
适配器=新的baseadapter();
设置适配器(适配器);
}
setOnItemLongClickListener(新的OnItemLongClickListener(){
@凌驾
长单击(AdapterView arg0、视图arg1、,
整数位置,长arg3){
//TODO自动生成的方法存根
结果:移除(位置);
adapter.notifyDataSetChanged();
Toast.makeText(getApplicationContext(),“已删除”,
吐司。长度(短)。show();
返回false;
}
});
add=(按钮)findViewById(R.id.button1);
add.setOnClickListener(这个);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
系统出口(0);
}
});
}
公共void onClick(视图v){
//TODO自动生成的方法存根
意向意向=新意向(MainActivity.this、ListActivity.class);
星触觉(意向);
}
类baseadapter扩展了baseadapter{
@凌驾
public int getCount(){
//TODO自动生成的方法存根
返回resultArr.size();
}
@凌驾
公共对象getItem(int arg0){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共长getItemId(int arg0){
//TODO自动生成的方法存根
返回0;
}
@凌驾
公共视图getView(内部位置、视图arg1、视图组arg2){
LayoutInflater LayoutInflater=(LayoutInflater)getSystemService(布局\充气器\服务);
视图=布局更平坦。充气(R.layout.base,null);
ImageView image=(ImageView)view.findViewById(R.id.imageView1);
setImageResource(ListActivity.image_items[Integer.parseInt(resultar.get(position)));
返回视图;
}
}
}
我的另一项活动
公共类MainActivity扩展活动实现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;
}
}
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;
}
}
arraylistresultar;
按钮添加、退出;
网格视图网格;
基本适配器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
resultar=getIntent().getStringArrayListExtra(“数据”);
grid=(GridView)findviewbyd(R.id.main_grid);
退出=(按钮)findViewById(R.id.button2);
if(resultar!=null){
适配器=新的baseadapter();
设置适配器(适配器);
}
setOnItemLongClickListener(新的OnItemLongClickListener(){
@凌驾
长单击(AdapterView arg0、视图arg1、,
整数位置,长arg3){
//TODO自动生成的方法存根
结果:移除(位置);
adapter.notifyDataSetChanged();
Toast.makeText(getApplicationContext(),“已删除”,
吐司。长度(短)。show();
返回false;
}
});
add=(按钮)findViewById(R.id.button1);
add.setOnClickListener(这个);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
系统出口(0);
}
});
}
公共void onClick(视图v){
//TODO自动生成的方法存根
意向意向=新意向(MainActivity.this、ListActivity.class);
星触觉(意向);
}
类baseadapter扩展了baseadapter{
@凌驾
public int getCount(){
//TODO自动生成的方法存根
返回resultArr.size();
}
@凌驾
公共对象getItem(int arg0){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共长getItemId(int arg0){
//TODO自动生成的方法存根
返回0;
}
@凌驾
公共视图getView(内部位置、视图arg1、视图组arg2){
LayoutInflater LayoutInflater=(LayoutInflater)getSystemService(布局\充气器\服务);
视图=布局更平坦。充气(R.layout.base,null);
ImageView image=(ImageView)view.findViewById(R.id.imageView1);
setImageResource(ListActivity.image_items[Integer.parseInt(resultar.get(position)));
返回视图;
}
}
}如果您只想将几个值从一个活动传递到另一个活动,那么可以使用bundle来实现。例如,您有两个活动活动A和活动B,您希望通过,然后就可以完成
Intent intent = new Intent(A.this, B.class);
Bundle bundle = new Bundle();
bundle.putString(key, val);
intent.putExtras(bundle);
startActivity(intent);
发布一些代码和更详细的解释我发布了我的代码请帮助我。我已经完成了这项工作,但我需要多个选定项目通过并在另一个活动中存储另一个网格视图(仅列出选定的顺序)使用共享首选项。如果要使用SharedReference,则可以在发生任何事件(如单击按钮)时将数据保存到SharedReference,然后在另一个活动中从onCreate()中的SharedReference读取数据。