#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(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 amp;amp; resultCode == RESULT_OK amp;amp; 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;
}
Здесь, в первом действии, я загружаю изображение из камбуза. Когда я нажимаю на кнопку сохранения в своем Activity A, я хочу, чтобы он отправил изображение и передал его в мой класс адаптера
Ответ №1:
Создайте метод setImage в адаптере для bitmap, нажав кнопку save, вызовите метод adapter.setImage и передайте это изображение и сохраните его в адаптере. Вызовите notifyDataSetChanged() адаптера, чтобы обновить набор данных.
Комментарии:
1. хорошо, но, Мехул, ты объяснишь это более подробно, или ты можешь прислать мне ссылку, по которой я могу ее получить