在我的Android應用程序中,我動態地創建一個TableRow並在此tableRow中插入一個textView和一個editTextView。Android:刪除動態創建的字段
還有一個提交的是spinner。根據微調器上的選擇,這個TableRow是創建或刪除。
Here他們提到如何從佈局中刪除字段,但問題是我如何獲得視圖。
這裏我的代碼是:
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v,
int pos, long id) {
if (pos > 1) {
tableRowName = new TableRow(this);
tableRowName.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
textViewName = new TextView(this);
textViewName.setText("Name*");
textViewName.setTextColor(Color.WHITE);
textViewName.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
editTextPersonName = new EditText(this);
editTextPersonName.setHint("Name");
editTextPersonName.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
tableRowName.addView(textViewName);
tableRowName.addView(editTextPersonName);
tableLayout.addView(tableRowName, new TableLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
} else {
tableRowName.removeView((View) v.getParent());
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
Toast.makeText(getApplicationContext(),
"onNothingSelected() method is called by Stage Spinner",
Toast.LENGTH_LONG).show();
}
});
這個代碼能夠創造tablerow的,但不能刪除此tablerow的。
如何設置標籤以及設置標籤的位置以及何時需要調用findViewByTag。請在簡要說明中解釋。 –
你問你如何找到一個視圖。當你創建它時,用你想要的任何名字爲它設置一個標籤,當你必須再次找到它時,用它的標籤搜索它。然後做任何你需要的東西(將它從父母身上移除/使之不可見) – Rotem