简体   繁体   中英

Android java code to add + and - button beside edittext

 for(int i=0;i<j.size();i++)
        {

            TableLayout.LayoutParams tableRowParams=
                    new TableLayout.LayoutParams
                            (TableLayout.LayoutParams.FILL_PARENT,TableLayout.LayoutParams.WRAP_CONTENT);


            JsonObject jb = (JsonObject) j.get(i);
            String item = jb.get("item").getAsString();
            String unit = jb.get("unit").getAsString();;
            String price = jb.get("price").getAsString();;

            TableRow tbrow1 = new TableRow(this);

            TextView tv01 = new TextView(this);
            tv01.setText(item);
            tv01.setTextColor(Color.BLACK);
            tbrow1.addView(tv01);

            TextView tv11 = new TextView(this);
            tv11.setText(unit);
            tv11.setTextColor(Color.BLACK);
            tbrow1.addView(tv11);

            TextView tv21 = new TextView(this);
            tv21.setText(price);
            tv21.setTextColor(Color.BLACK);
            tbrow1.addView(tv21);

            Button button = new Button(this);
            button.setText("+");
            button.setTag(item);
            tbrow1.addView(button);
            final String id_ = (String) button.getTag();


            EditText edText = new EditText(this);
            edText.setInputType(InputType.TYPE_CLASS_NUMBER);
            //edText.setText(0);
            tbrow1.addView(edText);


            Button button1 = new Button(this);
            button1.setText("-");
            button.setTag(item);
            tbrow1.addView(button1);
            final String id1_ = (String) button.getTag();



            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    Toast.makeText(getBaseContext(), "button clicked for  "+id_, Toast.LENGTH_LONG).show();


                }
            });



            button1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast.makeText(getBaseContext(), "button clicked for  "+id1_, Toast.LENGTH_LONG).show();
                }
            })
            }

I'm developing Android app for grocery shop . I'm getting itms details in json Depending on items number I'm creating dynamic rows. Now I want to add + and - button in each row . I want it programmatically How to to do it. Example: + - button in zomato while adding food to cart . As i click + or - button that corresponding item number should increment/decrement

You can use this library. It is a simple Android library to implement a number counter with increment and decrement buttons.

https://github.com/ashik94vc/ElegantNumberButton

try this,

MainActivity.java

public class MainActivity extends AppCompatActivity {

TextView textViewCount;
int count=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textViewCount=findViewById(R.id.textViewCount);
    textViewCount.setText(""+count);
}

public void itemSubtractClick(View view) {
    if (count>0)
    textViewCount.setText(""+count--);
    else
        Toast.makeText(this, "not allowed", Toast.LENGTH_SHORT).show();
}

public void itemAddClick(View view) {
    textViewCount.setText(""+count++);

}

}

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/shape"
    android:gravity="center"
    android:orientation="horizontal">
    <ImageView
        android:onClick="itemSubtractClick"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon_subtract" />
    <TextView
        android:id="@+id/textViewCount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#17F44336"
        android:padding="10dp"
        android:text="2"
        android:textSize="18sp" />
    <ImageView
        android:onClick="itemAddClick"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon_add" />

</LinearLayout>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM