这是我的onActivity结果代码的一部分。我想做的是使一个位图变量,我可以修改每次我按一个按钮,而不是修改ImageView(图像),而不是保存更改发生在图像。
当我试图在按钮的btp_tmp代码中更改onClick变量时,它会抛出一个关于btp_tmp在内部类中的错误,并且必须是最终的。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Bitmap btp_img = null;
InputStream in_stream;
Bitmap btp_tmp = null;
if (resultCode == Activity.RESULT_OK && requestCode == RCode)
{
//ARXIKO IMAGE
try {
if (btp_img != null) {
btp_img.recycle();
}
in_stream = getContentResolver().openInputStream(
data.getData());
btp_img = BitmapFactory.decodeStream(in_stream);
in_stream.close();
btp_tmp = btp_img;
imagen.setImageBitmap(btp_img);
//btn_seleccion.setText(getResources().getString(R.string.modifa));
} catch (IOException e) {
e.printStackTrace();
}
//NEGATIVE
//final boolean test = false;
final Bitmap finalBtp_img1 = btp_tmp;
//if (test == false){}
btp_tmp = btp_img;
Neg_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//imagen.setImageBitmap(invert(finalBtp_img));
Negative neg = new Negative();
imagen.setImageBitmap(neg.invert(finalBtp_img1));
btp_tmp = neg.invert(finalBtp_img1);
}
});
//UNDO
final Bitmap finalBtp_imgUndo = btp_img;
eraser.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imagen.setImageBitmap(finalBtp_imgUndo);
}
});发布于 2015-04-17 12:46:05
我找到了解决办法。我所犯的错误是,我没有在主Activity中声明临时变量,所以每次在代码的OnActivity部分中使用该变量时都会出现一个错误。
新手肯定弄错了。
https://stackoverflow.com/questions/29554604
复制相似问题