# LayoutInflater funktioniert nicht



## Esah (4. Aug 2012)

Hallo,
ich möchte aus meiner StartActivity durch einen Klick auf einen Button das Layout highscore_layout anzeigen lassen und dort dann einen ListView, welchen ich in der StartActivity gestartet habe. Aber leider wird nichts in dem ListView angezeigt. Erkennt jemand wo mein Fehler liegt?


```
public class StartActivity extends Activity implements OnClickListener {

    private ToplistAdapter adapter1;
    private ListView list1;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button buttonHighscore = (Button) findViewById(R.id.buttonHighscore);
        buttonHighscore.setOnClickListener(this); 
    }

    public void onClick(View v) {
            Thread t1 = new Thread(new HoleHighscores1());
            t1.start();
            setContentView(R.layout.highscore_layout);
        }
    }

    private class HoleHighscores1 implements Runnable {
        public void run() {
            zeigeHighscore1();
        }
    }
    
    private void zeigeHighscore1() {
       .....
     List<String> listAdapter = new ArrayList<String>();
        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View layout = inflater.inflate(R.layout.highscore_layout, null);
        list1 = (ListView) layout.findViewById(R.id.list1);
        adapter1 = new ToplistAdapter(this, 0, listAdapter);
        runOnUiThread(new ZeigeTopliste1());
    }
    
    private class ZeigeTopliste1 implements Runnable {
        public void run() {
            list1.setAdapter(adapter1);
            adapter1.notifyDataSetChanged();
        }
    }
    
}
```

Gibt es denn noch eine andere Möglichkeit den ListView in einem Layout anzeigen zu lassen?

Viele Grüße


----------



## Matthias K. (5. Aug 2012)

Hi,
du könntest zuerst mal versuchen, die Liste nicht in einem eigenen Thread zu erzeugen. Android macht dort manchmal Probleme (bei Views in einem anderen Thread).

Aber eher solltet du z.B. einen ViewFlipper nutzen.
Hier wird das Problem besprochen und gelöst:

Android layout replacing a view with another view on run time - Stack Overflow


----------



## Esah (5. Aug 2012)

Hallo,
also auch ohne den eigenen Thread hat es nicht funktioniert, aber ich benutze jetzt einen ViewSwitcher um auf das andere Layout zu kommen. Damit funktioniert es wunderbar!
Danke.


----------

