私は3つのレイアウトを持っています:
Layout1
-->onClick()-->show
Layout2
-->wait three seconds-->show
Layout3
問題は、Layout2 が表示されないことです。使用するレイアウトを設定するには
setContentView(int);
関連するコードは次のとおりです。
public class TrainingActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout1);
final Button inputButton = (Button)findViewById(R.id.inputButton);
inputButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
changeLayouts();
}
});
}
public void changeLayouts() {
setContentView(R.layout.layout2);
try {
TimeUnit.MILLISECONDS.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
setContentView(R.layout.layout3);
}
}
私の考えは、Android が "Event-Loop" (Qt など) のようなものを使用し、私のメソッドがコントロールをブロックして、レイアウトを表示する "Event-Loop" に戻るというものでした。しかし、私は自分のエラーを見つけることができませんでした。