1

在我的android 应用程序中,我动态创建了一个 TableRow,并在这个tableRow 中插入了一个textView 和一个editTextView。

还有一个字段是微调器。根据微调器上的选择,创建或删除此 TableRow。

在这里,他们提到了如何从布局中删除字段,但问题是我如何获得视图。

这里我的代码是:

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。

4

2 回答 2

1

您最好将视图添加到布局 xml 中,然后动态地将可见性设置为 GONE 或 VISIBLE。

于 2012-12-18T12:54:30.660 回答
0

将标签设置为视图,v.setTag("my textView"); 然后当您想找到它时使用findViewByTag("my textView");

于 2012-12-18T12:51:23.547 回答