2012-04-10 15 views
7

Ich habe eine ExpandableListView wo jeder ParentView einen EditText (und eine Textansicht) enthält. Wenn ich den EditText zum Layout hinzugefügt habe, würde ich nicht mehr auf die ExpandableListView klicken oder sie erweitern, sondern den gesamten Fokus auf EditText richten. Gibt es eine Möglichkeit, sowohl EditText als auch ExpandableListView selbst anklickbar zu machen? Ich möchte in der Lage sein, auf die erweiterbare Liste zu klicken, um die Liste zu erweitern, und auf den Text bearbeiten, um Text eingeben zu können.ExpandableListView mit einem EditText

Dank

EDIT: hinzugefügt Code meiner Fraktion wegen

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; 
    } 

Antwort

1

Das Problem Ansicht ist standardmäßig focusablitiy des EditText. Da sie in der Lage sind, standardmäßig fokussiert zu werden, wird Ihre Elternansicht unfokussiert. Also, was Sie tun müssen, ist, den Fokus Fähigkeit Ihres EditText zu entfernen, indem Sie verwenden,

andorid:focusable="false". 

Und ähnlich, wenn Sie eine beliebige Taste in Ihrer Eltern haben, Einstellung fokussierbarem falsch es wird auch helfen. Nur so können Sie Ihre Elternansicht zum Klicken aktivieren.

+2

Dies erlaubt mir, meine Liste zu erweitern, aber jetzt, wenn ich in den EditText klicke, wird die Soft-Tastatur nicht auftauchen ... Wie kann ich das beheben? – user1154920

+0

Sie können einen Klick-Listener für Ihren Bearbeitungstext verwenden und innerhalb dessen können Sie die Fokussierbarkeit auf "True" setzen. Dies wird Ihnen helfen, die Soft-Tastatur zu erhalten. –

+1

Ich habe einen onClickListener hinzugefügt, und die Toast-Nachricht kam, so dass sie aufgerufen wird, aber die Tastatur ist immer noch nicht aufgetaucht. Ich schätze, ich muss die Soft-Tastatur auf einen speziellen Zustand einstellen, aber nicht sicher welcher ... – user1154920

Verwandte Themen