Android应用。从文本字段创建复选框

时间:2015-11-21 23:52:34

标签: java android checkbox methods

我是java和android编程的新手。我想要做的是创建一个应用程序,在EditText字段中引入名称后创建一个复选框。就像创建待办事项列表或购物清单一样。

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void storeProduct(View view) {
    //Input name
    EditText productField = (EditText) findViewById(R.id.product_field);
    String product = productField.getText().toString();
}

public void createCheckBox(String product){
    //Create Checkbox
    CheckBox savedPRoduct = new CheckBox(getApplicationContext());
    savedProduct.setText(producto);
}

这是我到目前为止所得到的。而且我不确定它是否正确。我一直在讨论文档和一些论坛,包括这个,我设法创建方法storeProduct来保存EditText视图中的字符串。然后我创建了createCheckbox方法,该方法使用EditText视图中的字符串生成checbox。我不确定是否需要创建显示创建的复选框的方法。

您可以与我分享的任何线索和信息都非常感谢。

非常感谢。

2 个答案:

答案 0 :(得分:0)

您通常需要在res / layout / R.layout.activity_main.xml

下的文件中添加视图内容

从那里,您可以在布局中添加所需的所有视图。这是android文档中的一个示例布局。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="vertical" >
<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/to" />
<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/subject" />
<EditText
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:gravity="top"
    android:hint="@string/message" />
<Button
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:text="@string/send" />
</LinearLayout>

您也可以以编程方式进行,但我不建议您这样做,因为它违反了Android良好实践。

答案 1 :(得分:0)

所以,在KevDev的帮助下,我设法提出了这个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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    tools:context=".MainActivity">


<EditText
    android:id="@+id/product_field"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textCapSentences"
    android:hint="Product"/>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="storeProduct"
    android:text="Guardar"/>

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="product"
    android:id="@+id/productCheckBox"
    android:visibility="gone"/>
</LinearLayout>

这个java代码:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void storeProduct(View view) {
        //Input name
        EditText productField = (EditText) findViewById(R.id.product_field);
        String product = productField.getText().toString();

        CheckBox savedProduct = (CheckBox) findViewById(R.id.productCheckBox);
        savedProduct.setText(product);
        savedProduct.setVisibility(View.VISIBLE);
    }


}

它只显示一个复选框,但我正在设置循环以放置一系列复选框。我也在查看recyclerview文档,以便在此代码中介绍它。

相关问题