我正在尝试使用Bitmap并将其显示在ImageView中。
ImageView iv = new ImageView(this);
Bitmap bMap = BitmapFactory.decodeFile("/res/drawable/" + imageFileName);
iv.setImageBitmap(bMap);
这是我的代码。我创建了一个ImageView和一个Bitmap。我想在我的ImageView中显示我的Bitmap。但我总是在iv.setImageBitmap(bMap);
声明
Syntax error on token "bMap", VariableDeclaratorId expected after this token
Syntax error on token(s), misplaced construct(s)
有没有人知道为什么会发生这种情况以及我必须改变什么?
答案 0 :(得分:0)
在OP pastebin code中,我找到了以下代码段:
String imageFileName =getIntent().getStringExtra("imageFileName");
//String bildquelle = "R.drawable." + imageFileName;
public class ImageChange extends Activity {
ImageView iv = new ImageView(this);
String bildquelle = "R.drawable." + imageFileName;
int id = getResources().getIdentifier(bildquelle, "drawable", getPackageName());
Bitmap bMap = BitmapFactory.decodeResource(getResources(), id);
//Bitmap bMap = BitmapFactory.decodeFile("/res/drawable/" + imageFileName);
iv.setImageBitmap(bMap);
}
这有几个问题,包括:
Activity
子类。getResources().getIdentifier(...)
。我建议使用以下代码进行剩余的活动,而不是上面的代码:
public class BildAnzeigen extends ActionBarActivity {
ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bild_anzeigen);
iv = (ImageView) findViewById(R.id.my_image_view); // replace the id with the one from layout definition
handleIntent(getIntent());
}
private void handleIntent(Intent intent) {
String imageFileName = intent.getStringExtra("imageFileName");
int id = getResources().getIdentifier(imageFileName, "drawable", null);
Bitmap bMap = BitmapFactory.decodeResource(getResources(), id);
iv.setImageBitmap(bMap);
}
}
注意:如果图像未在apk中编译,则无法使用。在建造之后,没有办法向drawables添加任何东西。它不会那样工作。