在我的应用程序中,我有一个显示 2 个选项的对话框:Copy
和 Dismiss
当用户单击 Copy
时,我希望在状态栏中收到通知。
public void showDialog(final String planet) {
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
dialogBuilder.setIcon(R.drawable.ic_launcher);
dialogBuilder.setTitle("Here You Go!");
dialogBuilder.setMessage(planet);
dialogBuilder.setPositiveButton("Copy", new DialogInterface.OnClickListener() {
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@SuppressLint("NewApi")
@Override
public void onClick(DialogInterface dialog, int which) {
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) {
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(getApplicationContext().CLIPBOARD_SERVICE);
clipboard.setText(planet);
} else {
android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(getApplicationContext().CLIPBOARD_SERVICE);
android.content.ClipData clip = android.content.ClipData.newPlainText("",planet);
clipboard.setPrimaryClip(clip);
}
Toast.makeText(getApplicationContext(), "Copied!", Toast.LENGTH_SHORT).show();
nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Intent intent = new Intent(List.this, List.class);
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);
}
使用此代码,我在 PendingIntent.getActivity
上收到错误消息,提示 PendingIntent 类型的方法 getActivity(Context, int, Intent, int) 不适用于参数 (新的 DialogInterface.OnClickListener(){}, int, Intent, int)
.
快速修复没有帮助!
最佳答案
使用 WhateverYourActivityIsThatIsCallingYourShowDialogMethod.this
而不是 this
,其中 WhateverYourActivityIsThatIsCallingYourShowDialogMethod
是此 showDialog()< 所在的 Activity 的名称
方法驻留。
关于android - PendingIntent 不适用于参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27343304/