2013-02-20 2 views
0

Я использую фрагмент и когда я нажимаю на editext Лий показаны ти на специальной клавиатуре (много кнопок кликабельны), но я не могу найти, что он правильный способ обнаружения щелчка на кнопкахандроида фрагмент 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

Пробовали ли вы андроида: кликабельным =» true "в элементах xml для EditText?

+0

onAcivityCreated работает довольно хорошо, кнопки можно щелкнуть. я попробовал только алфавит, а в коде только пробел имеет setonclicklistener ..... HeHe Когда я исправляю код, вся клавиатура кажется окей, спасибо, спасибо ... человек спасибо – morbak

+0

@morbak mark as ответил все спасибо, мне нужно :) – Warpzit

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 

      } 

} 
Смежные вопросы