Как сделать так, чтобы только один виджет фокусировался в пользовательском списке - PullRequest
0 голосов
/ 15 февраля 2012

У меня есть собственный просмотр списка с одним флажком и двумя текстовыми представлениями. Я использую пользовательский адаптер для представления списка. Проблема в том, что функция onItemclick не работает для флажка, если я фокусируюсь на флажке напрямую, она работает только тогда, когда сначала фокусируется список, а затем флажок. Я хочу, чтобы мой просмотр списка работал аналогично checktextview, где флажок получает фокус default. Может кто-нибудь предложить мне обходной путь для этой проблемы? Спасибо.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2012

Попробуйте добавить прослушиватель кликов к вашему view, возвращенному методом getView (), следующим образом:

view.setOnClickListener(new OnClickListener(){
    public void onClick(View v) {
/// checkboxview.clearFocus()
/// checkboxview.requestFocus()
     }....

EDIT. onclicklistener для флажок:

 CheckBox chckKill = new CheckBox(context);
            chckKill.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {
                //is chkIos checked?
        if (((CheckBox) v).isChecked()) {
        ///// your code here
        }    
      }
    });
0 голосов
/ 15 февраля 2012

Добавьте этот код в список действий и измените его в соответствии с вашей спецификацией.

View v;
LayoutInflater li =(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = li.inflate(R.layout.listview, null);
CheckBox checkBox = (CheckBox)v.findViewById(R.id.check_box);
checkBox.setOnClickListener(new OnClickListener() 
{
    @Override
    public void onClick(View view)
    {
        //Action  
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...