在android中添加动态视图

时间:2013-10-25 10:57:08

标签: java android android-edittext textview

我遇到与此adding views dynamically

相同的问题

我正在创建一个应用程序,使用android来标记图像中的照片。

因此,一旦我点击某个位置,我需要创建一个可以输入的EditText。

我能够做到这一点,但问题是当我编辑edittext时,它并没有使现有数据无效。它与之前存在的数据重叠。

以下是我如何充气和添加

public boolean onTouch(View v, MotionEvent event) {

//.....

frmLayout = (FrameLayout)findViewById(R.id.frameLayout);
frmLayout.setFocusable(true);

mInflater = LayoutInflater.from(getApplicationContext());

View view = mInflater.inflate(R.layout.tag_layout,null);
view.setX(event.getX());
view.setY(event.getY());
frmLayout.addView(view,250,250);

//....
}

tag_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello" 
        android:layout_alignParentLeft="true"
        android:id="@+id/edittext1"
        android:textColor="@android:color/black"
        />
    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/edittext2"
        android:layout_toRightOf="@id/edittext1"
        android:text="D"
        />

</AbsoluteLayout>

TIA

1 个答案:

答案 0 :(得分:0)

  1. 点击图片调用方法。
  2. 在该方法中,获取触摸位置。 3.创建新的EditText EditText et = new EditText(context); MainLayout.addView(ET);

  3. 并将EditText的位置设置为Touch的位置

  4. 您可以询问是否有任何疑问!