2013-02-20 101 views
0

我使用的片段,當我上editext單擊辣油顯示蒙山一個特殊的鍵盤,(許多按鈕點擊),但我無法找到他正確的方法來檢測按鈕點擊Android的碎片setOnClickListener

這裏的onCreateView代碼:

 public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) 
    { 
     View view = inflater.inflate(R.layout.fragment_rsslist_overview,container, false); 
       try { 
        setKeys(); 

       } catch (Exception e) { 
        Log.w(getClass().getName(), e.toString()); 
       } 
     // 

     return view; 
    } 

這裏的setKeys代碼:(我已經嘗試mBSpace按鈕很多事情)

 public void setKeys() { 
     mWindowWidth = getActivity().getWindowManager().getDefaultDisplay().getWidth(); // getting 
     // window 
     // height 
     // getting ids from xml files 
     mB[0] = (Button) getActivity().findViewById(R.id.xA); 
     mB[1] = (Button) getActivity().findViewById(R.id.xB); 
     mB[2] = (Button) getActivity().findViewById(R.id.xC); 
     mB[3] = (Button) getActivity().findViewById(R.id.xD); 
     mB[4] = (Button) getActivity().findViewById(R.id.xE); 
     mB[5] = (Button) getActivity().findViewById(R.id.xF); 
     mB[6] = (Button) getActivity().findViewById(R.id.xG); 
     mB[7] = (Button) getActivity().findViewById(R.id.xH); 
     mB[8] = (Button) getActivity().findViewById(R.id.xI); 
     mB[9] = (Button) getActivity().findViewById(R.id.xJ); 
     mB[10] = (Button) getActivity().findViewById(R.id.xK); 
     mB[11] = (Button) getActivity().findViewById(R.id.xL); 
     mB[12] = (Button) getActivity().findViewById(R.id.xM); 
     mB[13] = (Button) getActivity().findViewById(R.id.xN); 
     mB[14] = (Button) getActivity().findViewById(R.id.xO); 
     mB[15] = (Button) getActivity().findViewById(R.id.xP); 
     mB[16] = (Button) getActivity().findViewById(R.id.xQ); 
     mB[17] = (Button) getActivity().findViewById(R.id.xR); 
     mB[18] = (Button) getActivity().findViewById(R.id.xS); 
     mB[19] = (Button) getActivity().findViewById(R.id.xT); 
     mB[20] = (Button) getActivity().findViewById(R.id.xU); 
     mB[21] = (Button) getActivity().findViewById(R.id.xV); 
     mB[22] = (Button) getActivity().findViewById(R.id.xW); 
     mB[23] = (Button) getActivity().findViewById(R.id.xX); 
     mB[24] = (Button) getActivity().findViewById(R.id.xY); 
     mB[25] = (Button) getActivity().findViewById(R.id.xZ); 
     mB[26] = (Button) getActivity().findViewById(R.id.xS1); 
     mB[27] = (Button) getActivity().findViewById(R.id.xS2); 
     mB[28] = (Button) getActivity().findViewById(R.id.xS3); 
     mB[29] = (Button) getActivity().findViewById(R.id.xS4); 
     mB[30] = (Button) getActivity().findViewById(R.id.xS5); 
     mB[31] = (Button) getActivity().findViewById(R.id.xS6); 
     mBSpace = (Button) getActivity().findViewById(R.id.xSpace); 
     mBdone = (Button) getActivity().findViewById(R.id.xDone); 
     mBChange = (Button) getActivity().findViewById(R.id.xChange); 
     mBack = (Button) getActivity().findViewById(R.id.xBack); 
     mNum = (Button) getActivity().findViewById(R.id.xNum); 
//  for (int i = 0; i < mB.length; i++) 
     mBSpace.setOnClickListener(this); 
/*  
     mBSpace.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        edittext_onClick(v); 
       } 
       }); 
*/   
/*   
      mB[i].setOnClickListener(this); 
     mBSpace.setOnClickListener(this); 
     mBdone.setOnClickListener(this); 
     mBack.setOnClickListener(this); 
     mBChange.setOnClickListener(this); 
     mNum.setOnClickListener(this); 
//  mNum.setOnClickListener(this); 
*/  


    } 

是否有人知道他的正確語法做這個? 我已經嘗試調用setkey的()爲:

public void onActivityCreated (Bundle savedInstanceState){ 
    setKeys(); 
    super.onActivityCreated(savedInstanceState); 
} 

我沒有錯誤,但沒有點擊檢測太... Thx提前...

回答

1

你嘗試機器人:可點擊=」真正的「在EditText的XML元素?

+0

onAcivityCreated運行相當不錯,按鈕是可點擊的。我試過只有字母表,並在代碼只有空格鍵setonclicklistener .....嘿嘿當我更正的代碼,所有的鍵盤似乎沒事,謝謝,謝謝... ...男子謝謝 – morbak 2013-02-20 10:06:17

+0

@morbak標記爲答案是我需要的所有感謝:) – Warpzit 2013-02-20 10:10:52

0

確保特殊鍵盤佈局是當前contentView的一部分。如果不是,你都膨脹成當前視圖,然後當你得到引用的按鈕,你應該使用

buttonA = inflatedLayout.findViewById(R.id.button); 

還要創建一個共同onClickListener,所有的按鍵綁定到它

OnClickListener buttonClickListener = new OnClickListener() { 

     @Override 
      public void onClick(View v) { 

       edititext.setText(v.getTag().toString()); 
       // or whatever logic you are using 

      } 

}