I can not programmatically place an image (based on the selected position in spnner) in FrameLayout

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final FrameLayout forImg=(FrameLayout) findViewById(R.id.forImg); setContentView(R.layout.activity_selection); Spinner spinnerBase = (Spinner) findViewById(R.id.baseSpinner); spinnerBase.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long l) { parent.getItemAtPosition(position); if (position == 1){ ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource (SelectionActivity.this, R.array.k, android.R.layout.simple_spinner_item); Spinner spinnerSecond=(Spinner)findViewById(R.id.secondSpinner); spinnerSecond.setAdapter(adapter); spinnerSecond.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){ @Override public void onItemSelected(AdapterView<?> parent, View view, final int position, long l) { parent.getItemAtPosition(position); if (position == 1){ ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource (SelectionActivity.this, R.array.k, android.R.layout.simple_spinner_item); Spinner spinnerThird=(Spinner)findViewById(R.id.thirdSpinner); spinnerThird.setAdapter(adapter); spinnerThird.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long l) { parent.getItemAtPosition(position); if (position==1){ ImageView img = new ImageView(SelectionActivity.this); img.setImageResource(R.drawable.i); forImg.addView(img); } 

As a result of the launch, an empty Activity appears for a couple of seconds and throws it into the MainActivity. Help the picture cram into the frame.

  • one
    to start setContentView raise higher - Serodv
  • @Serodv really helped, and I break my head, what I did wrong. - plus to karma) - Lavrik Unknown

1 answer 1

You are trying to determine the container id before placing the user interface. It is enough to swap these two operations.