2015-06-14 191 views
0

我試圖創建一個簡單的警報對話,我下面從這個link 的步驟不過,我得到的錯誤:getActivity() can't be resolved一些搜索我瞭解,getActivity()可由用戶定義之後,但我不知道我該怎麼做。警報對話

以下是我有:

public void about(View v1) { 
     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
// Add the buttons 
     builder.setNeutralButton(R.string.close, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       finish();//go to the previous activity 
      } 
     }); 

// Set other dialog properties 
     builder.setMessage(R.string.myName); 

// Create the AlertDialog 
     AlertDialog dialog = builder.create();} 
  • 有什麼不對的這種做法?
  • 有什麼其他更好的方法可以建議嗎?
  • 哦,應該用什麼getActivity()

回答

2

getActivity()是fragment方法來獲取Activity。 如果你在活動中,你只需要取代YourActivityClassName.this

0
// in a fragment 
    new AlertDialog.Builder(getContext()) 
          .setTitle("Alert title") 
          .setMessage("Alert Message") 
          .setCancelable(false) 
          .setPositiveButton("ok", new DialogInterface.OnClickListener() { 
           @Override 
           public void onClick(DialogInterface dialog, int which) { 

           } 
          }).show(); 
+0

你通常應該避免代碼的答案。這有點嚴峻... – Badacadabra