Java 将映像从活动传输到适配器类
这是我的活动AJava 将映像从活动传输到适配器类,java,android,Java,Android,这是我的活动A case R.id.buttonSaveAdd: EditText editTextTitle = (EditText) findViewById(R.id.editTextTitle); EditText editTextDes = (EditText) findViewById(R.id.editTextDescription); EditText editTextOwner = (EditText) findViewById(
case R.id.buttonSaveAdd:
EditText editTextTitle = (EditText) findViewById(R.id.editTextTitle);
EditText editTextDes = (EditText) findViewById(R.id.editTextDescription);
EditText editTextOwner = (EditText) findViewById(R.id.editTextOwnerName);
EditText editTextOwnerEmail = (EditText) findViewById(R.id.editTextOwnerEmail);
EditText editTextPrice = (EditText) findViewById(R.id.editTextPrice);
//populating data object from the values received
//from view
String title = editTextTitle.getText().toString();
String description = editTextDes.getText().toString();
String ownerName = editTextOwner.getText().toString();
String ownerEmail = editTextOwnerEmail.getText().toString();
String pricce = editTextPrice.getText().toString();
Advertisement object = new Advertisement(title, description,
ownerName, ownerEmail, "ic_launcher", Integer.parseInt(pricce), 100);
Button_mak.ads.add(object);
this.finish();
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
ImageView imageView10 = (ImageView) findViewById(R.id.creatae);
imageView10.setImageBitmap(BitmapFactory.decodeFile(picturePath));
//// I want to send this image to my adapter class.
这是我的适配器类
public class MyAdapter extends ArrayAdapter<Advertisement> implements OnClickListener {
public static int totalBill = 0;
private final Context context;
private final Advertisement[] values;
public MyAdapter(Context context, Advertisement[] values) {
super(context, R.layout.single_adds_layout, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.single_adds_layout, parent, false);
TextView title = (TextView) rowView.findViewById(R.id.title);
TextView detailedMessage = (TextView) rowView.findViewById(R.id.detailed_message);
TextView ownerName = (TextView) rowView.findViewById(R.id.owner);
TextView ownerEmail = (TextView) rowView.findViewById(R.id.owner_email);
TextView price = (TextView) rowView.findViewById(R.id.price);
ImageView image = (ImageView) rowView.findViewById(R.id.imageView10);
Button btn33 = (Button) rowView.findViewById(R.id.buybutton);
btn33.setOnClickListener(this);
Advertisement dataObj = values[position];
title.setText(dataObj.getTitle());
detailedMessage.setText(dataObj.getDetailedMessage());
ownerName.setText(dataObj.getOwnerName());
ownerEmail.setText(dataObj.getOwnerEmail());
price.setText(String.valueOf(dataObj.getPrice()));
btn33.setTag(price.getText());
setDrawable(image, dataObj.getImageId());
return rowView;
}
private void setDrawable(ImageView image, String drawableName) {
AssetManager manager = image.getContext().getAssets();
// Read a Bitmap from Assets
InputStream open = null;
try {
open = manager.open(drawableName+".jpg");
Bitmap bitmap = BitmapFactory.decodeStream(open);
// Assign the bitmap to an ImageView in this layout
image.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (open != null) {
try {
open.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
@Override
public void onClick(View v) {
String value = (String) v.getTag();
int valueInt = Integer.parseInt(value);
MyAdapter.totalBill+= valueInt;
}
公共类MyAdapter扩展ArrayAdapter实现OnClickListener{
公共静态int totalBill=0;
私人最终语境;
私人最终广告[]价值观;
公共MyAdapter(上下文上下文、播发[]值){
super(上下文,R.layout.single_添加_布局,值);
this.context=上下文;
这个值=值;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutFlater充气器=(LayoutFlater)上下文
.getSystemService(上下文布局\充气机\服务);
视图行视图=充气机。充气(R.layout.single\u添加布局,父级,false);
TextView title=(TextView)rowView.findViewById(R.id.title);
TextView detailedMessage=(TextView)rowView.findViewById(R.id.detailed_message);
TextView所有者名称=(TextView)rowView.findViewById(R.id.owner);
TextView-ownerEmail=(TextView)rowView.findViewById(R.id.owner\u-email);
TextView价格=(TextView)rowView.findViewById(R.id.price);
ImageView image=(ImageView)rowView.findViewById(R.id.imageView10);
按钮btn33=(按钮)rowView.findViewById(R.id.buybutton);
btn33.setOnClickListener(此);
广告数据对象=值[位置];
title.setText(dataObj.getTitle());
detailedMessage.setText(dataObj.getDetailedMessage());
ownerName.setText(dataObj.getOwnerName());
setText(dataObj.getOwnerEmail());
price.setText(String.valueOf(dataObj.getPrice());
setTag(price.getText());
setDrawable(image,dataObj.getImageId());
返回行视图;
}
私有void setDrawable(ImageView图像,字符串drawableName){
AssetManager=image.getContext().getAssets();
//从资源中读取位图
InputStream open=null;
试一试{
open=manager.open(drawableName+“.jpg”);
位图位图=BitmapFactory.decodeStream(打开);
//将位图指定给此布局中的ImageView
setImageBitmap(位图);
}捕获(IOE异常){
e、 printStackTrace();
}最后{
如果(打开!=null){
试一试{
打开。关闭();
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
}
@凌驾
公共void onClick(视图v){
字符串值=(字符串)v.getTag();
int valueInt=Integer.parseInt(值);
MyAdapter.totalBill+=valueInt;
}
在第一个活动中,我从galley加载图像。当我在活动A中单击“保存”按钮时,我希望它将图像发送到我的适配器类中在适配器中为位图创建一个setImage方法,单击“保存”按钮时,调用adapter.setImage方法并传递该图像并将其保存在适配器中。调用适配器的notifyetchDataSanged()刷新数据集。好的,但是Mehul您能详细解释一下吗?或者您可以将链接发送给我,我可以从那里获取它