2012-04-10 2 views
7

У меня есть ExpandableListView, где у каждого parentView есть EditText (и текстовое представление). Когда я добавил EditText в макет, он больше не позволял мне нажимать или расширять ExpandableListView, все фокус просто переходит к EditText. Есть ли способ сделать клики доступными как EditText, так и ExpandableListView? Я хочу, чтобы иметь возможность щелкнуть expandableListView, чтобы развернуть список, и EditText, чтобы иметь возможность вводить текст.ExpandableListView с EditText

Благодаря

EDIT: добавлен код моей точки зрения группы

public View getGroupView(int groupPosition, boolean isExpanded, 
          View convertView, ViewGroup parent) { 

     if (convertView == null) { 
      LayoutInflater inflater = (LayoutInflater) myContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = inflater.inflate(R.layout.group_row, null); 
     } 

     TextView playerName = (TextView) convertView.findViewById(R.id.playerName); 
     playerName.setText(groupElements[groupPosition]); 
     final EditText holeScore = (EditText) convertView.findViewById(R.id.score); 
     holeScore.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Toast.makeText(scoreCard.this, "On CLick", Toast.LENGTH_SHORT).show(); 
       holeScore.setFocusable(true); 
      } 
     }); 
     return convertView; 
    } 

ответ

1

Проблема в том, что по умолчанию focusablitiy EditText в. Поскольку они способны сосредоточиться по умолчанию, это приведет к тому, что ваш родительский взгляд будет не сфокусирован. Так что вы должны сделать, это удалить возможность фокусировки вашего EditText помощи,

andorid:focusable="false". 

И точно так же, если у вас возникли какую-либо кнопка в ваших родителях, установка фокусируемой лжи ему также поможет. Это единственный способ заставить ваше родительское представление щелкнуть.

+2

Это позволило мне расширить список, но теперь, когда я нажимаю на EditText, мягкая клавиатура не появится ... Как я могу это исправить? – user1154920

+0

вы можете использовать прослушиватель кликов для текста редактирования и в пределах которого вы можете настроить фокусировку на true, это поможет вам получить мягкую клавиатуру. –

+1

Я добавил onClickListener, и сообщение с тостом подошло так, что его зовут, но клавиатура все еще не придумала. Я предполагаю, что мне нужно настроить мягкую клавиатуру на особое состояние, но не уверен, какой из них ... – user1154920

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