2017-04-23 90 views
0

目前我正在做一個應用程序的測試,我可以通過按鈕onclicklistener觸發一個函數/類。它會召喚出這個函數低於/下課後:如何退出這個函數/類?

void beta(){ 

     final ListView XX= (ListView)findViewById(R.id.listView); 
     xx.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, final View view, int position, long id) { 

       TextView A= (TextView)view.findViewById(R.id.A); 
       TextView B= (TextView)view.findViewById(R.id.B); 
       TextView C= (TextView)view.findViewById(R.id.C); 
       String AA= ((TextView)view.findViewById(R.id.A)).getText().toString(); 
       String BB = ((TextView)view.findViewById(R.id.B)).getText().toString(); 
       String CC= ((TextView)view.findViewById(R.id.C)).getText().toString(); 
        AlertDialog.Builder adb = new AlertDialog.Builder(MainActivity.this); 
       adb.setTitle("StrikeThrought Selected Item?"); 
       adb.setPositiveButton("YES", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         //Click button action 
         A.setPaintFlags(A.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 
         B.setPaintFlags(B.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 
         C.setPaintFlags(C.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 
         dialog.dismiss(); 
        } 
       }); 

       adb.setNegativeButton("NO", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         //Click button action 
         dialog.dismiss(); 
         return; 
        } 
       }); 

       adb.setCancelable(false); 
       adb.show(); 

       } 
     }); 
    } 

當我選擇在ListView列表項,彈出對話框,詢問我是否會喜歡劃去所有的TextView在選中的列表項。

截至目前它運行良好,但截至目前我無法退出此功能。每當我在listview中選擇另一個項目。 預期的功能是觸發一次,無論用戶是否按下yes或no並退出此功能。 任何人都可以給我任何建議我失蹤的地方?

更新1: 只是爲了說清楚。我希望beta()只能觸發一次,如果用戶想再次使用這個函數,用戶需要再次按下按鈕來觸發這個函數/類。對話部分工作正常。

回答

0

刪除不允許您退出對話框的這一行。

adb.setCancelable(false); 

或使其成爲true。

只有當您想要執行其中一個操作時,才需要使用此方法調用false。

+0

感謝您的回覆。我嘗試將其替換爲true並將其刪除。還是一樣。該應用程序被困在上述功能/類。還有什麼建議? – GFr33d0m