TextView sind immer ReadOnly und reagieren auf nichts

  • 3 Antworten
  • Letztes Antwortdatum
GENiALi

GENiALi

Fortgeschrittenes Mitglied
11
Hallo

Ich möchte einem LinearLayout diverse Controls zuweisen. Angefangen mit TextViews. Die werden mir auch immer schön angezeigt, aber sind IMMER readonly und bei einem anklicken kommt kein Keyboard. context ist die Aktivity wo es schlussendlich engezeigt werden soll. Was habe ich vergessen?

Code:
private static View getTextbox(Activity context, FormularField formularField, List<FormularFieldValue> formularFieldValues)
{
    EditText et = new EditText(context);

    et.setId(formularField.getId());
    et.setLayoutParams(new RelativeLayout.LayoutParams((int) ViewGroup.LayoutParams.MATCH_PARENT, (int) ViewGroup.LayoutParams.WRAP_CONTENT));
    et.setHint(formularField.getLabeltext());
    et.setText(getText(formularField.getId(), formularFieldValues));
    et.setEnabled(!readOnly);
    et.setVisibility(View.VISIBLE);
    et.setImeOptions(EditorInfo.IME_ACTION_NEXT);
    et.setKeyListener(DigitsKeyListener.getInstance());
    if (formularField.isNumeric())
    {
        et.setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED);
    }
    else
    {
        et.setInputType(InputType.TYPE_CLASS_TEXT);
    }

    return et;
}
 
Kommt überhaupt irgendwo ein Keyboard hoch ? nicht das im manifest ein keyboard hidden steht.
 
Oberhalb der generierten Views habe ich schon andere die bedienbar sind. Der statische Teil der View funktioniert, der dynamische aber nicht.
 
Hier mal noch einwenig genauer was ich mache.

Mit folgendem Code lade ich den Platzhalter, LinearLayout und generiere die einzelnen Views die angezeigt werden sollen.

Code:
//Jetzt kann mit dem Aufbau der View begonnen werden.
LinearLayout container = (LinearLayout) context.findViewById(R.id.containerFormular);
//container.setEnabled(true);

boolean isVisible = false;
for (FormularField formularField : formularFields)
{
    isVisible = true;
    switch (formularField.getControlTyp())
    {
        case ControlTyp.CHECKBOX:
            container.addView(getCheckbox(context, formularField, formularFieldValues));
            break;
        case ControlTyp.TEXTBOX:
            container.addView(getTextbox(context, formularField, formularFieldValues));
            break;
    }
}

if (isVisible)
{
    container.setVisibility(View.VISIBLE);
    container.setEnabled(true);
}
Den TextView generiere ich so. Zur Zeit gibts nur den.

Code:
private static View getTextbox(Activity context, FormularField formularField, List<FormularFieldValue> formularFieldValues)
{
    EditText et = new EditText(context);

    et.setId(formularField.getId());
    et.setLayoutParams(new RelativeLayout.LayoutParams((int) ViewGroup.LayoutParams.MATCH_PARENT, (int) ViewGroup.LayoutParams.WRAP_CONTENT));
    et.setHint(formularField.getLabeltext());
    et.setText(getText(formularField.getId(), formularFieldValues));
    et.setEnabled(!readOnly);
    et.setVisibility(View.VISIBLE);
    et.setImeOptions(EditorInfo.IME_ACTION_NEXT);
    et.setKeyListener(DigitsKeyListener.getInstance());
    if (formularField.isNumeric())
    {
        et.setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED);
    }
    else
    {
        et.setInputType(InputType.TYPE_CLASS_TEXT);
    }

    return et;
}

Die TextView's erscheinen, so wies sein sollte, sind aber nicht aktiv und man kann sie deshalb auch nicht abfüllen. Ich schnall nur nicht wie so das so ist und wie ich ermitteln könnte an was es liegt.

Der ursprüngliche Beitrag von 15:15 Uhr wurde um 15:43 Uhr ergänzt:

Schuldigen gefunden.

et.setFocusable(true);
 
Zurück
Oben Unten