更新android上的textview

时间:2012-11-02 11:18:51

标签: android

问题是我的布局是打开并且我需要TextView从一方移动到另一个屏幕,为此我确保布局视图然后删除所有面部再次显示相同的TextView,以免TextView在屏幕上被“拖动”。

这是我的代码:

Textview textview = new TextView(context); //context was been defined

poiView.removeAllViews();
for (int j = 0; j < poiP.length; j++) {
    //code
    texview.setText("iojforj");

    poiView.addView(textview, params); //params was been defined
    textview.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub


            function (v.getId());
        }
    });

现在的问题是,TextView似乎有效,移动等等,但不会让我访问Mr点击的方法,因为TextView被移除并放入时间。

1 个答案:

答案 0 :(得分:2)

除了删除和重新添加textView之外,你应该只是搞乱它的可见性。

所以不要删除它们并在以后添加它们,你应该只做

textView.setVisibility(View.INVISIBLE); //to make it disappear
textView.setVisibility(View.VISIBLE); //to make it reappear

这样他们将保留他们分配的OnClickListeners

但是如果这是从另一个线程运行,则需要将其置于runOnUiThread()调用中。

编辑: 让我们试试这个

  Textview textview = new TextView(context); //context has been defined
  poiView.removeAllViews();
  OnClickListener buttonListener = new OnClickListener() { //listener here }
  for (int j = 0; j < poiP.length; j++) 
  {
    //code
    texview.setText("iojforj");

    poiView.addView(textview, params); //params was been defined
    textview.setOnClickListener(buttonListener);
  }