2013-02-20 105 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 

      } 

}