台灣最大程式設計社群網站
線上人數
891
 
會員總數:239343
討論主題:185683
歡迎您免費加入會員
討論區列表 >> Android APP 開發 >> OnClickListener 參數傳入與判斷
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
OnClickListener 參數傳入與判斷
價值 : 40 QP  點閱數:162 回應數:1

樓主

kenRO
門外漢
0 2
106 2
發送站內信

大家好,我有一個程式程序上的疑問,我在修改一個APP,假設有A,B,C三個物件皆為跟資料庫取值,經選取後要透過一個按鈕送出(顯示查尋結果),是問能否在OnClickListener 加入參數(T or F)判斷ABC是否執行完,三個都是true後才送出,這是一個顧客的要求。

我自己是寫在按鈕內對三個物件取值後送出,至於空值未選取的判斷則是另外寫,所以想請問各位前輩,上述要求對於Android是否可行,另外是否有必要如此檢查,歡迎提供意見想法

搜尋相關Tags的文章: [ OnClickListener ] , [ 加入參數 ] , [ 判斷 ] ,
本篇文章發表於2016-12-22 13:51
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

kenRO
檢舉此回應
大家好,我有一個程式程序上的疑問,我在修改一個APP,假設有A,B,C三個物件皆為跟資料庫取值,經選取後要透過一個按鈕送出(顯示查尋結果),是問能否在OnClickListener 加入參數(T or F)判斷ABC是否執行完,三個都是true後才送出,這是一個顧客的要求。

我自己是寫在按鈕內對三個物件取值後送出,至於空值未選取的判斷則是另外寫,所以想請問各位前輩,上述要求對於Android是否可行,另外是否有必要如此檢查,歡迎提供意見想法

[code]
public OnClickListener clothBeginListener=new OnClickListener(){
  
  @Override
    public void onClick(View v)
    {
    String cloth=clothBegin.getText().toString().trim();//取得使用者輸入
    String AString="";
    if(cloth.length()>0){
      AlertDialog.Builder dialog=new AlertDialog.Builder(StoreInvSearchActivity.this);
      //-dialog.setTitle("貨號確認按鈕");
      for(int i=0;i<clothList.length;i++){
        if(clothList[i].length()>=cloth.length())//clothList是從database取出的資料陣列
          if((clothList[i].substring(0,cloth.length())).equals(cloth.substring(0,cloth.length()).toUpperCase()))
          {
          AString+=clothList[i]+" ";  
          }else{
            continue;
          }
      }
      final String[] ListShow =AString.split(" ");
      AlertDialog.Builder dialog_list=new AlertDialog.Builder(StoreInvSearchActivity.this);
      dialog_list.setTitle("貨號清單");
      dialog_list.setItems(ListShow,new DialogInterface.OnClickListener(){
          
          @Override
          public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
            clothBegin.setText(ListShow[which].toString());
          }
        });
      dialog_list.show();
      
      }else{
        //- Toast.makeText(StoreInvSearchActivity.this,"請輸入貨號!",Toast.LENGTH_SHORT).show();
        showAlertDialog("請輸入貨號");
      }
    }
    };
[/code]
這是我ABC物件其中之一,監聽的是一個AutoCompleteTextView輸入框,因為本身已經有在送出時判斷未輸入,所以想問一般而言判斷程式未結束(沒輸入),會使用Btn參數傳遞?因為顧客是寫Visual DBtools的,彼此語言溝通會有落差,因此想詢問有經驗的前輩們,希望能告訴經驗淺的小弟。
private OnClickListener SearchClickListener = new OnClickListener()
  {
    @Override
    public void onClick(View v)
    {  
       if(CM.getActiveNetworkInfo() == null)
       {
         showAlertDialog("無網路連線\n請確認網路連線後重試。");
       }
       else
       {
//(+
         String storeNo = storeTextView.getText().toString().trim();
         storeTextView.setText(storeNo);
         String begin = clothBegin.getText().toString().trim();
         clothBegin.setText(begin);
         String end = clothEnd.getText().toString().trim();
         clothEnd.setText(end);
//+)
         String check = "0";
         if(showZero.isChecked())
           check = "1";
        
         if(storeNo.isEmpty())
           showAlertDialog("請輸入店家代號");
         else
         {
           SearchTask task = new SearchTask();
           task.execute(storeNo, begin, end, "1", check);
         }
       }
    }
  };

這是送出按鈕的監聽,對ABC物件做取值後回傳後顯示,我疑問的點就是在如果確定我ABC都會得到值,還有必要再ABC設定一個參數(假設有執行是T)然後在送出按鈕的監聽中檢查ABC傳回的值為T,才會把資料送出這部分
本篇文章回覆於2016-12-23 11:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.