0
我有3图库图像。当首先点击按钮它显示第一组图库,然后我点击它显示第二组图库。单击第二个按钮时如何删除第一组图库,并在单击第一个按钮时删除第二组图库。按钮点击事件删除图库
代码:
图片:
Integer[] imageIDs = {
R.drawable.nat,
R.drawable.nat1,
R.drawable.nat2,
R.drawable.nat3,
R.drawable.nat4,
R.drawable.nat5,
R.drawable.nat6,
R.drawable.nat7
};
Integer[] imageIDs1 = {
R.drawable.tree,
R.drawable.tree1,
R.drawable.tree2,
R.drawable.tree3,
R.drawable.tree4,
R.drawable.tree5,
R.drawable.tree6,
R.drawable.tree7
};
ImageAdapter为1组图像:
public class ImageAdapter extends BaseAdapter
{
Context context;
int itemBackground;
public ImageAdapter(Context c)
{
context = c;
//---setting the style---
// TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);
// itemBackground = a.getResourceId(
// R.styleable.Gallery1_android_galleryItemBackground, 0);
// a.recycle();
}
//---returns the number of images---
public int getCount() {
return imageIDs.length;
}
//---returns the item---
public Object getItem(int position) {
return position;
}
//--returns the ID of an item---
public long getItemId(int position) {
return position;
}
//---returns an ImageView view---
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(context);
//set the ImageView to display image in array
// at user selected position
imageView.setImageResource(imageIDs[position]);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new Gallery.LayoutParams(150, 120));
// imageView.setLayoutParams(new Gallery.LayoutParams(300, 300));
} else {
imageView = (ImageView) convertView;
}
imageView.setBackgroundResource(itemBackground);
return imageView;
}
}
ImageAdapter为第二组图像:
public class ImageAdapter1 extends BaseAdapter
{
Context context;
int itemBackground;
public ImageAdapter1(Context c)
{
context = c;
//---setting the style---
// TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);
// itemBackground = a.getResourceId(
// R.styleable.Gallery1_android_galleryItemBackground, 0);
// a.recycle();
}
//---returns the number of images---
public int getCount() {
return imageIDs1.length;
}
//---returns the item---
public Object getItem(int position) {
return position;
}
//--returns the ID of an item---
public long getItemId(int position) {
return position;
}
//---returns an ImageView view---
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(context);
//set the ImageView to display image in array
// at user selected position
imageView.setImageResource(imageIDs1[position]);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new Gallery.LayoutParams(150, 120));
// imageView.setLayoutParams(new Gallery.LayoutParams(300, 300));
} else {
imageView = (ImageView) convertView;
}
imageView.setBackgroundResource(itemBackground);
return imageView;
}
}
文本菜单按钮点击:
popup_but = (Button) findViewById(R.id.popup_but_id);
registerForContextMenu(popup_but);
popup_but.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
openContextMenu(v);
}
});
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
getMenuInflater().inflate(R.menu.main, menu);
menu.setHeaderTitle("Nature");
}
文本菜单单击事件:
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.nat:
// gallery1.setEnabled(false);
gallery=(Gallery)findViewById(R.id.gall1);
// gallery.setEnabled(false);
gallery.setAdapter(new ImageAdapter(MainActivity.this));
gallery.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(
AdapterView<?> parent, View v,
int position, long id) {
// TODO Auto-generated method stub
final ImageView imageView = (ImageView) findViewById(R.id.image1);
imageView.setImageResource(imageIDs[position]);
return true;
}
});
break;
case R.id.tree:
// gallery1.setEnabled(false);
gallery1=(Gallery)findViewById(R.id.gall2);
// gallery1.setEnabled(false);
gallery1.setAdapter(new ImageAdapter1(MainActivity.this));
gallery1.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(
AdapterView<?> parent, View v,
int position, long id) {
// TODO Auto-generated method stub
final ImageView imageView = (ImageView) findViewById(R.id.image2);
imageView.setImageResource(imageIDs[position]);
return true;
}
});
break;
我用((RelativeLayout的)gallery1的方法。的getParent())removeView(gallery1)。在R.id.nat里面:但是我得到空指针异常错误。你可以给代码吗? – user2474320