我有一個佈局(activity_main.xml),它有一些TextView和EditText元素和一個按鈕。 當點擊按鈕時,我會發生一些事情,但是我想在點擊按鈕之後直接在下面添加一個新的EditText元素,並添加現有元素。在button按鈕上添加editText
請問我該如何做到這一點?
我有一個佈局(activity_main.xml),它有一些TextView和EditText元素和一個按鈕。 當點擊按鈕時,我會發生一些事情,但是我想在點擊按鈕之後直接在下面添加一個新的EditText元素,並添加現有元素。在button按鈕上添加editText
請問我該如何做到這一點?
通常我只是玩弄元素的可見性。例如:
上的OnCreate:EditText1.setVisibility(GONE);
,然後在你的OnClickListener實現:
private OnClickListener onShow = new OnClickListener() {
public void onClick(View v) {
EditText1.setVisibility(VISIBLE);
}
}
這將隱藏您的EditText(或其他元素,你想要的)在創建活動中,再展他們再次按下按鈕時。
上面提到的方法比較容易,對於我的大部分項目來說似乎都足夠了。但是,如果我們真的想要動態添加元素,則有一種方法。
我們基本上可以將任何元素動態添加到我們的xml佈局中。但是我們需要一個元素(容器)在我們的xml佈局中,以便稍後保存我們添加的元素。例如,我們使用一個空的LinearLayout與android:id =「@ + id/container」。考慮到這一點,這意味着我們可以從頭開始動態構建一切,setContentView(ourView),其中ourView是添加了其他子元素的根元素。
例子:
EditText newElement = new EditText(this);
newElement.setLayoutParams(params);
LinearLayout container = (LinearLayout)findViewById(R.id.container);
container.addView(newElement);
注:這只是一個僞代碼,而不是一個完整的代碼。
謝謝你。我會考慮這個選項,但我真的很希望根據需要動態地添加新的字段。 – user3120872
嘗試檢查我編輯的答案,我添加了第二個選項,如何動態添加元素。也許它可以幫助:) – Milanor
乾杯感謝您的幫助。非常感激。 – user3120872
'詢問代碼的問題必須證明對所解決問題的最小理解。包括嘗試解決方案,爲什麼他們不工作,以及預期的結果。' –
不是一個好問題,顯示你的努力。 – tianwei
我已經嘗試了代碼示例中的各種選項,但找不到它們的功能。我不確定我可以展示哪些代碼,因爲我嘗試過各種選擇而沒有成功。 在幾種情況下,代碼會編譯,但是在執行時什麼都不會發生。 我是一位經驗豐富的編碼員,但仍然在學習Java的android。對不起,我沒有更多的你。 我所做的大部分工作都是徒手,我希望能夠學習如何簡化我的代碼。 – user3120872