當前位置:外匯行情大全網 - 期貨行情 - 解決方案:如何在android中動態插入控件?

解決方案:如何在android中動態插入控件?

我直接給妳代碼。寫了半個小時,考過了~

運行的時候就能看到結果了~我拆鍵的時候給妳寫了紙條~

布局文件布局內容:

-

& lt?xml版本="1.0 "編碼="utf-8 "?& gt

& ltlinear layout xmlns:Android = "/apk/RES/Android "

Android:orientation = " vertical " Android:layout _ width = " fill _ parent "

Android:layout _ height = " fill _ parent " Android:id = " @+id/linear layout " & gt;

& ltlinear layout Android:id = " @+id/linear layout 01 "

Android:layout _ width = " wrap _ content " Android:layout _ height = " wrap _ content " & gt;

& lt按鈕Android:layout _ height = " wrap _ content " Android:id = " @+id/add "

Android:text = " Add " Android:layout _ width = " 100 px " & gt;& lt/Button & gt;

& lt按鈕Android:layout _ height = " wrap _ content "

Android:layout _ width = " 100 px " Android:text = " Remove " Android:id = " @+id/Remove " & gt;& lt/Button & gt;

& lt/linear layout & gt;

& ltTextView Android:id = " @+id/TextView 01 " Android:text = "這是TextView。"

Android:layout _ width = " fill _ parent " Android:gravity = " center "

Android:layout _ height = " 50px " & gt;& lt/TextView & gt;

& lt/linear layout & gt;

-

活動對應的內容:

-

包com . Foxconn . dialog;

導入Android . app . activity;

導入Android . OS . bundle;

導入Android . view . view;

導入Android . view . view . onclick listener;

導入Android . view . view group . layout params;

導入Android . widget . button;

導入Android . widget . linear layout;

公共類DialogTest擴展Activity實現OnClickListener {

私有按鈕add_btn,remove _ btn

private linear layout linear layout;

private int index = 0;

/**首次創建活動時調用。*/

@覆蓋

public void on create(Bundle saved instancestate){

super . oncreate(savedInstanceState);

setContentView(r . layout . main);

findViews();

寄存器();

}

私有void寄存器(){

add _ BTN . setonclicklistener(this);

remove _ BTN . setonclicklistener(this);

}

私有void findViews() {

add _ BTN =(Button)findViewById(r . id . add);

remove _ BTN =(Button)findViewById(r . id . remove);

linear layout =(linear layout)findViewById(r . id . linear layout);

}

受保護的視圖createView() {

Button btn =新建按鈕(this);

BTN . setid(index++);

btn.setLayoutParams(新LayoutParams(LayoutParams。WRAP_CONTENT,LayoutParams。WRAP _ CONTENT));

BTN . settext(" aaaaaa "+index);

返回btn

}

私有void removeView() {

//獲取linearlayout子視圖的數量。

int count = linear layout . get child count();

//研究整個布局,有添加和刪除兩個按鈕的布局在第0個位置。

//count-1是文本居中的textview。

//因此,在移除時,只有0

//每次移除都是從count-2的位置開始刪除,也就是textview上面的控件~

if(count-2 & gt;0) {

//count-2 & gt;0用於判斷當前linearlayout中存在兩個以上的子視圖,即存在通過點擊add添加的按鈕。

linear layout . remove viewat(count-2);

}

}

公共void onClick(視圖v) {

switch (v.getId()) {

案例編號添加:

linear layout . add view(create view(),1);

打破;

案例編號刪除:

remove view();

打破;

默認值:

打破;

}

}

}

-

  • 上一篇:期貨要是交10%保證金盈利是不是全額呢
  • 下一篇:倫敦金屬交易所LME鎳的三個品種有什麽區別?
  • copyright 2024外匯行情大全網