我收到一个简单的santax错误,我无法找到插入(;)的区域,就像它要求我一样。
@Override
public void onClick(View v) {
if (addCheckbox.isChecked()) {
System.out.println("Checked");
PackageManager pm = mContext.getPackageManager();
Drawable icon = null;
try {
icon = pm
.getApplicationIcon(entry.packageName);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Drawable default_icon = pm.getDefaultActivityIcon();
if (icon instanceof BitmapDrawable
&& default_icon instanceof BitmapDrawable) {
BitmapDrawable icon_bd = (BitmapDrawable) icon;
Bitmap icon_b = icon_bd.getBitmap();
BitmapDrawable default_bd = (BitmapDrawable) pm
.getDefaultActivityIcon();
Bitmap default_b = default_bd.getBitmap();
if (icon_b == default_b) {
// It's the default icon
public static Bitmap scaleDownBitmap(Bitmap default_b, int newHeight, Context c) {
final float densityMultiplier = context.getResources().getDisplayMetrics().density;
int h= (int) (newHeight*densityMultiplier);
int w= (int) (h * default_b.getWidth()/((double) default_b.getHeight()));
default_b=Bitmap.createScaledBitmap(default_b, w, h, true);
return default_b;
}
ByteArrayOutputStream stream = new ByteArrayOutputStream();
default_b.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
Intent intent = new Intent(v.getContext(), GridView.class);
intent.putExtra("picture", byteArray);
v.getContext().startActivity(intent);
}
}
} else {
System.out.println("Un-Checked");
}
}
});
// return view
return v;
}
我在这一行得到错误:
public static Bitmap scaleDownBitmap(Bitmap default_b, int newHeight, Context c) {
用于我的公共静态位图。
我意识到这可能是我的一个简单的输入错误,但我无法找到我需要输入分号的位置。
答案 0 :(得分:0)
您正在尝试声明此方法
public static Bitmap scaleDownBitmap(Bitmap default_b, int newHeight, Context c) {
在另一个方法(你的onClick()
)中。将该方法移到onClick()
之外,如果您正在尝试这样做,请从onClick()
调用该方法。
@Override
public void onClick(View v)
{
if (addCheckbox.isChecked())
{
...
if (icon_b == default_b)
{
// It's the default icon
scaleDownBitmap(default_b, someInt, v.getContext());
// more code
});
public static Bitmap scaleDownBitmap(Bitmap default_b, int newHeight, Context c) {
final float densityMultiplier = context.getResources().getDisplayMetrics().density;
int h= (int) (newHeight*densityMultiplier);
int w= (int) (h * default_b.getWidth()/((double) default_b.getHeight()));
default_b=Bitmap.createScaledBitmap(default_b, w, h, true);
return default_b;
}
我尽我所能向你展示你的格式如何,所以如果你知道你的程序是如何工作的,那么你将不得不修复一些不应该成问题的事情。 1}}传递给方法。此外,您的params
内显示return v
,但不应该出现onClick()
。这让我觉得你可能会在另一个函数中放入onClick()
,而这个函数会返回View
,例如getView()
这不正确。
另一件事是,您的方法将Context
作为param
,但如果它位于Activity
内并且从Activity
调用,那么您不需要Context
变量,您只需使用Activity Context
。