[英]How does setContentView work in android?
我試圖在我的android應用程序上顯示一個按鈕,但是每次我運行該應用程序時,它都會崩潰。 我意識到這是因為我多次使用setContentView嗎? 我不明白它是如何工作的,也不知道我該如何解決這個問題,這樣我的按鈕才會顯示。 我的代碼如下。
public class MainActivity extends Activity {
Draw draw;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
draw = new Draw(this);
draw.setBackgroundColor(Color.BLUE);
setContentView(draw);
LinearLayout l = new LinearLayout(this);
l.setOrientation(LinearLayout.VERTICAL);
setContentView(l);
l.addView(new Draw(this));
//setContentView(R.layout.activity_main);
setUpBlockBtn();
}
private void setUpBlockBtn(){
setContentView(R.layout.activity_main);
Button addBlockButton = (Button)findViewById(R.id.btnBlock);
addBlockButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("DemoButtonApp", "you clicked the button");
//finish();
}
});
}
您嘗試從android xml布局訪問Button,但未在Activity中設置此布局。
將您的按鈕置於activity_main.xml中,並在您的活動中使用此按鈕。
謝謝
您可以再創建一個布局,然后將“繪圖”和“線性”布局添加到該布局。
這樣的事情。
LinearLayout l1=new LinearLayout(this);
l1.setOrientation(LinearLayout.VERTICAL);
l1.addView(draw);
l1.addView(l2) // your linearLayout.
setContentView(l1)
請記住,您不能多次使用setContentView。 應該有包括子視圖和其他布局的頂部布局,然后您可以將該布局添加到活動中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.