2014-12-07 3 views
1

В моем приложении, у меня есть диалоговое окно, которое отображает 2 вариант: Copy и Dismiss
хотят уведомление в строке состояния, когда пользователь щелкает Copy.
PendingIntent не применяется для аргументов

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 сообщив, что The method getActivity(Context, int, Intent, int) in the type PendingIntent is not applicable for the arguments (new DialogInterface.OnClickListener(){}, int, Intent, int).
Быстрое исправление не помогает!

ответ

3

Использование WhateverYourActivityIsThatIsCallingYourShowDialogMethod.this вместо this, где WhateverYourActivityIsThatIsCallingYourShowDialogMethod является название деятельности, в которой этот метод showDialog() находится.

+0

приятное имя! +1 за это :) –

Смежные вопросы