0

I am trying to add a spinner dynamically to a RelativeLayout but I am having problems. This is my code.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
 xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/Relativ"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

</RelativeLayout>

And in my class:

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    RelativeLayout rl = (RelativeLayout) findViewById(R.id.Relativ);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,1);
    adapter.add("1");
    adapter.add("2");
    adapter.add("3");
    adapter.add("4");
    adapter.add("5");

    Spinner list = new Spinner(this);
    list.setAdapter(adapter);
    rl.addView(list);
    }

But it does't run. I would like to know what is wrong in my code and how I can fix it. I have tryed with RelativeLayout params in the RelativeLayout.addView and it doesn't run. Thank you.

2 Answers2

1
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    RelativeLayout rl = new RelativeLayout(this);
    ArrayList<String> arrayList = new ArrayList<String>();
    arrayList.add("1");
    arrayList.add("2");
    arrayList.add("3");
    arrayList.add("4");
    arrayList.add("5");

    Spinner list = new Spinner(this);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_dropdown_item, arrayList);
    list.setAdapter(adapter);
    rl.addView(list);
    setContentView(rl);
}
MohamedZaatari
  • 434
  • 4
  • 5
0

main.java

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);

        adapter.add("1");
        adapter.add("2");
        adapter.add("3");
        adapter.add("4");
        adapter.add("5");

        final Spinner list= (Spinner) findViewById(R.id.spinner1);

        list.setAdapter(adapter);
    }

main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.prova.MainActivity" >

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="28dp" />

</RelativeLayout>

Check with your parameters.

Ellipticat
  • 198
  • 1
  • 4
  • 11