我想在複選框的onClick方法中使用意圖,但我得到的錯誤,方法startActivity未定義,並且構造函數Intent(new View.OnClickListener等..)也是未定義的。這裏是我的代碼:Intent不工作onClick方法
final CheckBox addCheckbox = (CheckBox) v
.findViewById(R.id.addCheckbox);
// set data to display
addCheckbox
.setOnClickListener(new View.OnClickListener() {
@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
ByteArrayOutputStream stream = new ByteArrayOutputStream();
default_b.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
Intent intent = new Intent(this, GridView.class);
intent.putExtra("picture", byteArray);
this.startActivity(intent);
}
}
} else {
System.out.println("Un-Checked");
}
}
});
它不應該是ClassName.this.startActivity? – hasan83
@hasan我可以看到它是如何看起來如此,但是,沒有它是不需要的。它在這種情況下使用活動上下文。 Intent的構造函數需要一個在這裏明確定義的Context,這就是爲什麼你需要提供它 – codeMagic
好的謝謝。第一部分工作(使用視圖上下文),但我仍然有錯誤,「startActivity(意圖)未定義爲新的View.OnClickListener」 – user2909006