Skip to content Skip to sidebar Skip to footer

Show Edittext On Condition

Right now I have an idea for a project and I would like to know if anyone can help me on the same logic. As such I need to create or generate a number of EditText according to amo

Solution 1:

Here is an example of generating EditText items based on the number you enter. You can ignore the scrollview in the layout file I just put it in case someone added a lot of EditText items that would go off the screen.

MainActivity.java

package com.example.test;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;

publicclassMainActivityextendsActivity {

    publicstaticfinalStringTAG= MainActivity.class.getSimpleName();

    @OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        finalEditTextcount= (EditText) findViewById(R.id.count);
        finalTextViewoutput= (TextView) findViewById(R.id.output);
        finalButtongenerate= (Button) findViewById(R.id.generate);
        finalButtonvalues= (Button) findViewById(R.id.values);
        finalLinearLayoutcontainer= (LinearLayout) findViewById(R.id.container);

        generate.setOnClickListener(newView.OnClickListener() {

            @OverridepublicvoidonClick(View v) {
                intnumberOfControlsToGenerate=0;

                try {
                    numberOfControlsToGenerate = Integer.parseInt(count.getText().toString().trim());
                } catch (NumberFormatException e) {
                    Log.e(TAG, e.getMessage(), e);
                }

                if (numberOfControlsToGenerate > 0) {

                    if (container.getChildCount() > 0) {
                        container.removeAllViews();
                    }

                    for (intcounter=0; counter < numberOfControlsToGenerate; counter++) {
                        addEditText(container);
                    }
                }
            }
        });

        values.setOnClickListener(newView.OnClickListener() {

            @OverridepublicvoidonClick(View v) {

                String[] editTextValues = newString[container.getChildCount()];

                StringBuildereditTextValuesBuilder=newStringBuilder();

                for (intcounter=0; counter < container.getChildCount(); counter++) {
                    EditTextchild= (EditText) container.getChildAt(counter);
                    editTextValues[counter] = child.getText().toString().trim();
                    editTextValuesBuilder.append(editTextValues[counter]).append("\n");
                }

                output.setText(editTextValuesBuilder.toString());
            }
        });
    }

    privatevoidaddEditText(LinearLayout container) {
        final LinearLayout.LayoutParamsparams=newLinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
        EditTexteditTextToAdd=newEditText(this);
        editTextToAdd.setLayoutParams(params);
        container.addView(editTextToAdd);
    }
}

activity_main.xml

<LinearLayoutxmlns: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:gravity="center_horizontal"android:orientation="vertical"android:padding="16dp"tools:context="${packageName}.${activityClass}" ><EditTextandroid:id="@+id/count"android:layout_width="match_parent"android:layout_height="wrap_content"android:imeOptions="actionDone"android:inputType="number"android:textSize="20sp" /><Buttonandroid:id="@+id/generate"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Go" /><Buttonandroid:id="@+id/values"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Get Values" /><TextViewandroid:id="@+id/output"android:layout_width="match_parent"android:layout_height="wrap_content" /><ScrollViewandroid:layout_width="match_parent"android:layout_height="match_parent" ><LinearLayoutandroid:id="@+id/container"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical" ></LinearLayout></ScrollView></LinearLayout>

Post a Comment for "Show Edittext On Condition"