2013-10-28 67 views
4

所以現在我無法在下一個按鈕處於活動的最後一頁時無法點擊。截至目前它回到第一個屏幕。我如何製作它,以便它知道何時灰顯按鈕,或在用戶進入最後一個屏幕時使其不可點擊。如何使按鈕不可點擊

這裏是我的代碼:

public class ReadingActivity extends Activity implements OnClickListener { 

    private ViewFlipper viewFlipper; 
    Button btnNext, btnPrev; 
    private float lastX; 

    /** Called when the activity is first created */ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.reading); 
     viewFlipper=(ViewFlipper)findViewById(R.id.view_flipper); 
     btnNext=(Button)findViewById(R.id.btnNext); 
     btnPrev=(Button)findViewById(R.id.btnPre); 


     btnNext.setOnClickListener(this); 
     btnPrev.setOnClickListener(this); 

     btnNext.setEnabled(true); 
    } 



    @Override 
    public void onClick(View arg0) { 
     // TODO Auto-generated method stub 

     switch(arg0.getId()){ 
     case R.id.btnNext: 
      viewFlipper.setInAnimation(this, R.anim.in_from_right); 
      viewFlipper.setOutAnimation(this, R.anim.out_to_left); 
      viewFlipper.showNext(); 
      break; 
     case R.id.btnPre: 
      viewFlipper.setInAnimation(this, R.anim.in_from_left); 
      viewFlipper.setOutAnimation(this, R.anim.out_to_right); 
      viewFlipper.showPrevious(); 
      break; 
     } 

    } 


} 

回答

4

可以設置OnClickListener爲null,像這樣

btnNext.setOnClickListener(null); 
+0

這是做什麼的確切?一種新的android開發..謝謝! – Dan

+0

它會停止OnClick方法從該對象的觸發,因爲它從(this)設置爲(null),它會從對象 – JRowan

+0

中刪除偵聽器,並且如果要將其放回到按鈕上,請將其設置回(這)從null – JRowan

2

我覺得你只是想這個方法

button.setClickable(false); 
+0

感謝我試圖button.setClickable已經但是它沒有做什麼,我想.. :(我有兩個按鍵一致所以只圖像而改變。如果我做button.setClickable它將完全禁用它.. – Dan

1

要使按鈕灰色和UnClickable

android:enabled="false"按鈕標籤

並使用代碼button.setEnabled(false);