如何控制以编程方式生成的 TextView

How to Control Programmatically Generated TextViews

如果有人能为我提供解决方案,我将不胜感激。我有两个问题:

1- 我有一个按钮,每次单击它时都会生成 Params 和 TextView。我将变量设置为 textview "textnew" 和 param "lptxt"。但是,我只能控制最后生成的文本视图、字体、字体大小、删除...等。有没有设置自动 id 的方法,我可以用其他方法调用它?我尝试了 isSelected、isTouched、hasFocus 和其他方法,但没有任何效果。

2- 如何将我的 TextView 设置回设置边框后的状态?假设我已将边框设置为 10dp 半径和红色的 TextView。但是当触摸 TextView 时,边框会变为 1dp 半径,如 drawable/corners.

中所述

谢谢

这是我的代码

RelativeLayout rel0 = (RelativeLayout) findViewById(R.id.rel0);

点击时:

textnew = new TextView(MainActivity.this);
    lptxt = new RelativeLayout.LayoutParams(
                                    RelativeLayout.LayoutParams.WRAP_CONTENT,
                                    RelativeLayout.LayoutParams.WRAP_CONTENT);
                            lptxt.addRule((RelativeLayout.CENTER_HORIZONTAL));
                            lptxt.addRule((RelativeLayout.CENTER_VERTICAL));
                            lptxt.addRule((RelativeLayout.CENTER_IN_PARENT));
                            textnew.setLayoutParams(lptxt);
                            rel0.addView(textnew);
                            rel0.bringChildToFront(textnew);
                            rel0.bringToFront();
                            textnew.setText(edittextdialog.getText().toString());

触摸屏:[=​​13=]

case MotionEvent.ACTION_DOWN: {
                        textnew.setBackgroundResource(R.drawable.borders);
                        textnew.isSelected();

                        break;
                    }

顺便说一句,我正在研究 API 11

提前谢谢你,

  1. 在您的 TextView 上使用 setTag 并使用 findViewWithTag 获得您需要的视图。

  2. 将所有内容重置为 ACTION_UP

比如你生成5个TextView

List<TextView> list = new ArrayList<TextView>();
for(int i=0;i<5;i++){
     TextView textView = generateTextView();
     list.add(textView);
     rel0.addView(textView);
}

生成TextView的方法

public TextView generateTextView(){
    TextView textnew = new TextView(MainActivity.this);
    ...
    return textnew;
}

然后你可以控制列表中的textviews

文本视图正在使用相对布局参数,如果您使用相同的 lptxt 布局参数。 textviews会在同一个位置,你只能看到最后一个

我找到了解决此问题的方法:

我在 ACTION_UP 上扩展了一个视图,我可以在其中更改文本大小、颜色、字体,甚至可以将其删除。更改直接发生在有问题的选定文本视图上。

感谢大家的贡献。

这是我的代码:

    case MotionEvent.ACTION_UP: {

    LayoutInflater lifirst = LayoutInflater.from(MainActivity.this);
    View lifirstpv = lifirst.inflate(R.layout.infirst, null);
    final TextView editfirst = TextView)lifirstpv.findViewById(R.id.editfirst);
    final TextView deletefirst = (TextView)lifirstpv.findViewById(R.id.deletefirst);

    pop = new PopupWindow(
lifirstpv,RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);

    pop.setOutsideTouchable(true); pop.setTouchable(true);
    deletefirst.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
    rel0.removeView(teext);
    pop.dismiss();
    return true;
                   }
          });