簡體   English   中英

setContentView如何在Android中工作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM