2012-12-04 100 views
-2

我寫了一個非常簡單的CheckBox示例代碼。您可以檢出代碼@ svn籤http://my-android-ui-examples.googlecode.com/svn/trunk/我-Android的UI的例子 - 只讀最初需要雙擊才能完成操作

項目名稱爲:CheckBoxExample 但乾淨的構建並實時Android手機中部署後,我所看到的是:

第一次我必須點擊兩次才能完成操作。下一次,只有一次點擊正在進行所需的工作。

請讓我知道可能是什麼原因造成的。

關於 Sudipta Deb。

+0

你爲什麼不發佈您的代碼,所以我們沒有從你的回購中檢查出來?它會讓生活更輕鬆 – dymmeh

+1

鏈接到文件:https://code.google.com/p/my-android-ui-examples/source/browse/CheckBoxExample/src/com/sudipta/checkbox/MainActivity.java – dymmeh

+0

鏈接是現在死了這就是爲什麼你應該下次發佈你的代碼 – amorenew

回答

2

您應該使用onCheckedChangeListener來正確地偵聽CheckBox更改。

我改寫了你的活動來實現這些並正確設置你的按鈕的onClick .. 在XML文件中刪除的onClick聲明

public class MainActivity extends Activity implements OnCheckedChangeListener 
{ 

    private CheckBox chkAndroid, chkIphone, chkWindows; 
    private Button button; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     chkAndroid = (CheckBox) findViewById(R.id.checkBox_android); 
     chkAndroid.setOnCheckedChangeListener(this); 
     chkIphone = (CheckBox) findViewById(R.id.checkBox_ios); 
     chkIphone.setOnCheckedChangeListener(this); 
     chkWindows = (CheckBox) findViewById(R.id.checkBox_windows); 
     chkWindows.setOnCheckedChangeListener(this); 
     button = (Button) findViewById(R.id.button1); 
     button.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) 
      { 
       // TODO Auto-generated method stub 
       StringBuffer string = new StringBuffer(); 
       string.append("Iphone checked: ").append(chkIphone.isChecked()); 
       string.append("\nAndroid checked: ").append(chkAndroid.isChecked()); 
       string.append("\nWindows checked: ").append(chkWindows.isChecked()); 
       Toast.makeText(getApplicationContext(), string.toString(), Toast.LENGTH_SHORT).show(); 
      } 
     }); 
    } 

    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
    { 
     if (buttonView == chkAndroid) { 
      // do whatever.. you aren't doing anything currently 
     } else if (buttonView == chkIphone && isChecked) { 
      displaySuggestion(); 
     } else if (buttonView == chkWindows && isChecked) { 
      displaySuggestion(); 
     } 

    } 

    private void displaySuggestion() 
    { 
     Toast.makeText(getApplicationContext(), "Try android", Toast.LENGTH_SHORT).show(); 
    } 
} 
+0

感謝dophon。在這裏完美的工作...... –

相關問題