2011-11-15 127 views
1

我是Android的新手,我正在編寫一個程序,當用戶單擊一個按鈕時出現一個Alert Dialog。此警報對話框有2個按鈕,Yes and No。點擊是/否,我需要sysout的迴應。初學者按鈕點擊事件

我到目前爲止的代碼;有人可以幫我添加警報對話框嗎?

public class HelloWorldProjectActivity extends Activity implements OnClickListener { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.myFirstScreen); 
} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    if(v.getId()==(R.id.button1)){ 
     System.out.println("first button clicked"); 

     // I need a Alert Dialog to appear here, and that will have 2 buttons YES and NO, the users response should be printed to the console. 

} 

}

回答

2

您不能System.out.print()

有幾種顯示結果的方法。一種是使用Toast。它會短暫顯示一條短信,然後消失。

new AlertDialog.Builder(this) 
     .setMessage("Are you sure?") 
     .setPositiveButton("Yes", new OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       Toast.makeText(TestAndroidActivity.this, "YES CLICKED", 
         Toast.LENGTH_LONG).show(); 
      } 
     }).setNegativeButton("No", new OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       Toast.makeText(TestAndroidActivity.this, "NO CLICKED", 
         Toast.LENGTH_LONG).show(); 
      } 
     }).show(); 

修改代碼如下:

  • 活動類沒有實現OnClickListener
    • 因此,除去onClick()方法
  • 轉到佈局文件,在按鈕聲明添加屬性android:onClick="click"
    • public void click(View view)加上前面的代碼。
+0

我應該在哪裏輸入上面的代碼?在if條件內? – Illep

+0

請參閱我編輯的答案。 – wannik

1

首先,實在是沒有任何的System.out打印到機器人。你應該嘗試的是打印到日誌中。有關如何打印到日誌的信息,請查看this。然後查看日誌的活動(包括您打印的信息),結賬logcat

其次,有關創建警報對話框的信息,請view this documentation

+2

實際上,'System.out.println'在Android中工作得很好。它還會生成使用'adb logcat'時出現的日誌。 – Cristian

+0

真的嗎?我不知道。 –

+0

你沒試過嗎? .out打印爲「I/info」(綠色),.err打印爲「W/warning」(橙色)......很有趣,我們總是認爲Log是System。*編譯時的解決方案。那麼它到底在哪裏?現在你知道了。 :-) – davidcesarino