以编程方式在edittext下创建一个新的textview

太阳神83

我有一个带有edittext和一个按钮的活动,前一个具有属性

android:layout_weight="1"

当我按下按钮时,将以编程方式创建一个新的textview。我希望新的textview出现在edittext下。使用我拥有的代码,每个textview都在按钮的右侧创建。如何使它出现在新行的期望位置?我猜,由于textview是由代码创建的,所以唯一的方法是编程方式。

这是我的activity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:id="@+id/new_formulas"
    >
    <EditText
        android:layout_weight="1"
        android:textSize="30dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="@string/add_hint"
        android:id="@+id/add_hint"
     />
    <Button android:textSize="30dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/add"
        android:id="@+id/add"
        />
</LinearLayout>

这是我的Java代码:

public class New_set extends AppCompatActivity {
private LinearLayout mLayout;
private EditText mEditText;
private Button mButton;

public static int integer = 0;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.new_set);
    mLayout = (LinearLayout) findViewById(R.id.new_formulas);
    mEditText = (EditText) findViewById(R.id.add_hint);

    mButton = (Button) findViewById(R.id.add);
    mButton.setOnClickListener(onClick());
    TextView textView = new TextView(this);
    textView.setText(mEditText.getText().toString());
}

private OnClickListener onClick() {
    return new OnClickListener() {

        @Override
        public void onClick(View v) {
            createNewTextView(mEditText.getText().toString());
        }
    };
}

private void createNewTextView(String text) {
    RelativeLayout layout = new RelativeLayout(this);

    final TextView textView = new TextView(this);
    textView.setId(integer);

    textView.setText(text);

    RelativeLayout.LayoutParams params1 =new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    if (integer > 1)
        params1.addRule(RelativeLayout.BELOW, integer - 1);
    else
        params1.addRule(RelativeLayout.BELOW, R.id.add_hint);

    layout.setLayoutParams(params1);
    mLayout.addView(textView);
    integer +=1;

}

}

我尝试使用addRule和RelativeLayout做到这一点,但是它不起作用。

根特·艾哈迈迪(Gent Ahmeti)

使用以下布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:id="@+id/new_formulas"
    >

    <Button
        android:textSize="30dp"
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/add"
        android:id="@+id/add"
        />
    <EditText
        android:textSize="30dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="@string/add_hint"
        android:id="@+id/add_hint"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@id/add"
        />
    <LinearLayout
        android:id="@+id/hints"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/add_hint"
        android:orientation="vertical"/>
</RelativeLayout>

现在,每个孩子TextView都可以hints LinearLayout像上面一样添加到孩子中,而无需使用规则。

重要说明:使用时,请LayoutParams始终从父布局使用它。例如这里应该是LinearLayout.LayoutParams

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

solr-以编程方式创建一个新集合

来自分类Dev

以编程方式在textview的右侧创建并对齐edittext

来自分类Dev

以编程方式创建 UITabBarController,只显示一个 Tab

来自分类Dev

如何在故事板上创建一个Segue,从以编程方式注册的UICollectionViewCell到新的UIViewController?

来自分类Dev

逐行比较文件并创建一个新的bash编程

来自分类Dev

以编程方式基于另一个对象数组创建一个对象数组

来自分类Dev

从函数列表的方式创建一个新列表

来自分类Dev

以编程方式单击一个按钮

来自分类Dev

以编程方式 Android TextView 和 EditText

来自分类Dev

从文件和当前类或在新类中以编程方式构建一个类

来自分类Dev

在Swift 3中以编程方式创建一个没有XIB的NSViewController

来自分类Dev

以编程方式创建了一个UIButton,但是没有单击效果(仅文本效果)

来自分类Dev

您如何在Linux上以编程方式创建一个完全为空的稀疏文件?

来自分类Dev

仅以编程方式为不在AppDelegate中的一个ViewController创建TabBar

来自分类Dev

尝试以编程方式从一个XIB文件创建多个视图

来自分类Dev

通过选择以编程方式创建的collectionView的Cell切换到另一个ViewController

来自分类Dev

如何以编程方式创建第一个Azure Databrics令牌(PowerShell)

来自分类Dev

以编程方式为多语言/多域站点创建一个sitemap.xml

来自分类Dev

以编程方式创建一个8x32的ImageButtons数组

来自分类Dev

以编程方式创建了一个UIButton,但是没有单击效果(仅文本效果)

来自分类Dev

为每个以编程方式创建的TextBlock添加一个eventHandler

来自分类Dev

以编程方式在不同类别的Swift中创建一个按钮

来自分类Dev

如何以编程方式在Android中创建另一个应用程序的快捷方式?

来自分类Dev

Python:以编程方式创建一个 xml 文件,该文件以递归方式列出目录的所有内容

来自分类Dev

在TextView下以编程方式绘制线

来自分类Dev

基于在Storyboard中使用自动布局创建的另一个视图以编程方式使用框架创建视图

来自分类Dev

如何在SwiftUI中以编程方式切换到另一个视图(无需按下按钮)

来自分类Dev

如何以编程方式从另一个视图或处理程序添加和放置新的ViewPart?

来自分类Dev

以编程方式返回到上一个片段

Related 相关文章

  1. 1

    solr-以编程方式创建一个新集合

  2. 2

    以编程方式在textview的右侧创建并对齐edittext

  3. 3

    以编程方式创建 UITabBarController,只显示一个 Tab

  4. 4

    如何在故事板上创建一个Segue,从以编程方式注册的UICollectionViewCell到新的UIViewController?

  5. 5

    逐行比较文件并创建一个新的bash编程

  6. 6

    以编程方式基于另一个对象数组创建一个对象数组

  7. 7

    从函数列表的方式创建一个新列表

  8. 8

    以编程方式单击一个按钮

  9. 9

    以编程方式 Android TextView 和 EditText

  10. 10

    从文件和当前类或在新类中以编程方式构建一个类

  11. 11

    在Swift 3中以编程方式创建一个没有XIB的NSViewController

  12. 12

    以编程方式创建了一个UIButton,但是没有单击效果(仅文本效果)

  13. 13

    您如何在Linux上以编程方式创建一个完全为空的稀疏文件?

  14. 14

    仅以编程方式为不在AppDelegate中的一个ViewController创建TabBar

  15. 15

    尝试以编程方式从一个XIB文件创建多个视图

  16. 16

    通过选择以编程方式创建的collectionView的Cell切换到另一个ViewController

  17. 17

    如何以编程方式创建第一个Azure Databrics令牌(PowerShell)

  18. 18

    以编程方式为多语言/多域站点创建一个sitemap.xml

  19. 19

    以编程方式创建一个8x32的ImageButtons数组

  20. 20

    以编程方式创建了一个UIButton,但是没有单击效果(仅文本效果)

  21. 21

    为每个以编程方式创建的TextBlock添加一个eventHandler

  22. 22

    以编程方式在不同类别的Swift中创建一个按钮

  23. 23

    如何以编程方式在Android中创建另一个应用程序的快捷方式?

  24. 24

    Python:以编程方式创建一个 xml 文件,该文件以递归方式列出目录的所有内容

  25. 25

    在TextView下以编程方式绘制线

  26. 26

    基于在Storyboard中使用自动布局创建的另一个视图以编程方式使用框架创建视图

  27. 27

    如何在SwiftUI中以编程方式切换到另一个视图(无需按下按钮)

  28. 28

    如何以编程方式从另一个视图或处理程序添加和放置新的ViewPart?

  29. 29

    以编程方式返回到上一个片段

热门标签

归档