2016-08-11 2 views
0

Ich habe an einer App gearbeitet und kann EditText nicht in eine XML-Datei importieren.Hinzufügen von EditText zu einer XML-Datei, die nicht funktioniert

Ich hatte es funktioniert, dann habe ich eine ScrollView hinzugefügt und es hat überhaupt nicht funktioniert, so löschte ich es und jetzt verteilt es die Gruppen auf dem Bildschirm, und ich kann es nicht beheben.

PlayScreen.java

/** 
* Created by Gavin on 8/10/2016. 
*/ 
public class PlayScreen extends Activity { 

    public EditText numberOP; 
    private RelativeLayout layout; 

    private int i = 0; 
    private int x = 0; 
    private int y = 1; 
    private int z = 1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

     setContentView(R.layout.layout_play); 

     numberOP = (EditText) findViewById(R.id.number_of_players); 

     layout = (RelativeLayout) findViewById(R.id.layout_play_id); 

    } 

    public void onEnterClickOne(View view) { 

     /**if(textView != null) { 
      layout.removeView(textView); 
     } 
     if(editText != null) { 
      layout.removeView(editText); 
     }*/ 

     int b = 0; 

     if(i+y+x+z != 0) { 
      for (b = 0; b < i + y + x + z * 100; b++) { 
       System.out.println(b); 
       View v = findViewById(b); 
       if (v != null) { 
        layout.removeView(v); 
       } 
      } 
     } 

     i = 0; 
     x = 0; 
     y = 1; 
     z = 1; 

     if (numberOP.getText().toString().length() > 0) { 

      int length = Integer.parseInt(numberOP.getText().toString())*2; 

      for (i = 0; i < length; i++) { 
       if (i % 2 == 0) { 
        x++; 
        TextView textView = new TextView(PlayScreen.this); 
        textView.setId(x*30); 
        textView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT)); 
        textView.setText(String.format("Group: %s", Integer.toString(x))); 
        textView.setTextSize(20); 
        textView.setTypeface(null,Typeface.BOLD); 
        layout.addView(textView); 
       } 
       EditText editText = new EditText(PlayScreen.this); 
        editText.setId(i+1); 
        editText.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT)); 
       if(y == 1) { 
        editText.setHint("Partner 1"); 
        y++; 
       } else if(y == 2) { 
        editText.setHint("Partner 2"); 
        y--; 
       } 
       layout.addView(editText); 
      } 
     } 
    } 
} 

layout_play.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:fillViewport="true" 
    android:background="#f7f7f7" 
    android:id="@+id/layout_play_id" 
    android:padding="25dp"> 

    <TextView 
     android:text="@string/choose_your_partners" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="31sp" 
     android:layout_centerHorizontal="true" 
     android:id="@+id/editTextTwo" /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:inputType="numberSigned" 
     android:ems="10" 
     android:hint="@string/number_of_groups" 
     android:id="@+id/number_of_players" 
     android:layout_below="@+id/editTextTwo" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 

    <Button 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/button_1_text" 
     android:textSize="30sp" 
     android:id="@+id/playButton" 
     android:onClick="onEnterClickOne" 
     android:layout_below="@+id/number_of_players" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 
</RelativeLayout> 

Auch, wenn Sie irgendwelche Vorschläge für Scroll haben, würde das genial. Vielen Dank.

The Problem

+0

Was meinst du mit nicht funktioniert, meinst du EditText nicht oder was? –

+0

Es verteilt die TextView und EditText über den Bildschirm, anstatt direkt übereinander. –

+0

Ich habe dem Beitrag ein Bild hinzugefügt, das das Problem zeigt. –

Antwort

0

Für eine solche Art von Ansicht Komponente, ist es besser LinearLayout mit vertikal Orientierung zu verwenden, um einfach die Sicht Komponente innerhalb dieses zu setzen.

RelativeLayout: RelativeLayout können Sie festlegen, wie Kind Ansichten in Bezug zueinander positioniert sind. Die Position jeder Ansicht kann relativ zu den gleichgeordneten Elementen oder relativ zum übergeordneten Element angegeben werden.

enter image description here

Linearlayout: Linearlayout ist eine Ansicht Gruppe, die alle Kinder in entweder vertikal oder horizontal ausgerichtet ist. enter image description here

+0

Das hat es behoben. Ich habe auch eine ScrollView innerhalb dieser Klasse hinzugefügt und es scheint zu funktionieren. –

+0

Das ist gut, wenn die Antwort Ihr Problem gelöst oder Ihnen geholfen hat, bitte akzeptieren Sie die Antwort und stimmen Sie ab. Vielen Dank –

Verwandte Themen