为动态创建的元素创建XML

塔萨尔·戈尼亚(Tushar Gogna)

我想要XMLTextViews动态EditTexts创建一些博客建议有一些第三方图书馆可以做到这一点,但我找不到。我基本上是点击时在代码中动态创建动态创建的TextViewsEditTexts button

代码:

      LinearLayout linearLayout1 = (LinearLayout) findViewById(R.id.linearLayout1);
        for (int x = 0; x < 1; x++) {
            Display display = ((WindowManager) getApplicationContext()
                    .getSystemService(Context.WINDOW_SERVICE))
                    .getDefaultDisplay();
            int width = display.getWidth() / 3;

            TextView et1 = new TextView(this);
            et1.setBackgroundColor(color.transparent);
            et1.setText("Untitled");
            et1.setGravity(Gravity.LEFT);
            EditText et = new EditText(this);
            et.setHint("Click to add");
            et.setInputType(InputType.TYPE_TEXT_FLAG_AUTO_CORRECT);

            LayoutParams lp1 = new LayoutParams(LayoutParams.WRAP_CONTENT,
                    LayoutParams.WRAP_CONTENT);
            LayoutParams lp2 = new LayoutParams(width,
                    LayoutParams.WRAP_CONTENT);
            // lp1.addRule(RelativeLayout.BELOW, et1.getId());

            linearLayout1.addView(et1, lp2);
            linearLayout1.addView(et, lp2);

XML:

    <ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/addImage" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
    </LinearLayout>
</ScrollView>

<Button
    android:id="@+id/addEdit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@+id/scrollView1"
    android:text="Edit" />

现在的问题是,我该如何实现XMLTextViewEditText作为String价值?我是否代码中静态地赋予它们tags或者还有其他方法吗?ids

解决方案: XmlSerializer是问题的答案。不用了,谢谢 :)

  public static final void writeMapXml(Map val, String name, XmlSerializer out)
  throws XmlPullParserException, java.io.IOException
{
    if (val == null) {
        out.startTag(null, "TextView");
        out.endTag(null, "TextView");
        return;
    }

    Set s = val.entrySet();
    Iterator i = s.iterator();

    out.startTag(null, "TextView");
    if (name != null) {
        out.attribute(null, "name", "TextView");
    }

    out.endTag(null, "TextView");
}
汉尼斯·沙玛(Hanish Sharma)

android本身提供的XMLSerializer足以生成动态XML。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章