android - পুনরাবৃত্তি ফর্ম সহ গতিশীল ফর্ম



android-layout dynamic (1)

আমি অ্যান্ড্রয়েডে একটি পৃষ্ঠা তৈরি করতে চাই যার একটি ফর্ম থাকতে হবে যা গতিশীলভাবে কিছু মানের উপর ভিত্তি করে পুনরাবৃত্তি করবে।

এটার মতো কিছু:

এখানে পৃষ্ঠার ব্যবহারকারীর নাম, পাসওয়ার্ড, মোবাইল এবং ঠিকানা ক্ষেত্রগুলি পৃষ্ঠাটিতে ব্যবহারকারী প্রবেশ করায় তার উপর ভিত্তি করে পুনরাবৃত্তি হয়। এই ছবিতে ফর্মটি দু'বার পুনরাবৃত্তি করা হয়েছে তবে এটি যে কোনও সংখ্যক বার হতে পারে যা গতিশীল হবে।

আমি কীভাবে এরকম কিছু অর্জন করতে পারি? আমি কি listview বা recyclerview ব্যবহার করতে পারি? যদি তা হয় তবে আমি কীভাবে টাইপ করা মানগুলি পুনরুদ্ধার করব?


এখানে পৃষ্ঠার ব্যবহারকারীর নাম, পাসওয়ার্ড, মোবাইল এবং ঠিকানা ক্ষেত্রগুলি পৃষ্ঠাটিতে ব্যবহারকারী প্রবেশ করায় তার উপর ভিত্তি করে পুনরাবৃত্তি হয়। এই ছবিতে ফর্মটি দু'বার পুনরাবৃত্তি করা হয়েছে তবে এটি যে কোনও সংখ্যক বার হতে পারে যা গতিশীল হবে

এএনএস: আপনার recyclerview নিয়ে যাওয়া উচিত

আমি কীভাবে এরকম কিছু অর্জন করতে পারি?

recyclerview একক আইটেমের মতো লেআউট তৈরি করুন

টাইপ করা মানগুলিতে আমাকে কীভাবে পুনরুদ্ধার করতে হবে?

আপনি RecyclerView.Adapter ক্লাস থেকে মান পেতে পারেন

HERE IS THE SAMPLE CODE

Activity.java

public class AddmoreActivity extends AppCompatActivity {

    RecyclerView myRc;
    ArrayList<AddMorePojo> arrayList = new ArrayList<>();
    Button btnGetData;
    AddMoreAdapter adapter;

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

        myRc = (RecyclerView) findViewById(R.id.myRc);
        btnGetData = (Button) findViewById(R.id.btnGetData);

        myRc.setHasFixedSize(true);
        myRc.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));

        AddMorePojo addMorePojo = new AddMorePojo();
        addMorePojo.setAddress("");
        addMorePojo.setUserName("");
        arrayList.add(addMorePojo);


        adapter = new AddMoreAdapter(this, arrayList);
        myRc.setAdapter(adapter);

        btnGetData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ArrayList<AddMorePojo> pojoArrayList = adapter.getArrayList();

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

                    Log.e("Name " + i, pojoArrayList.get(i).getUserName() + "");
                    Log.e("Pass " + i, pojoArrayList.get(i).getPass() + "");
                    Log.e("PHONE " + i, pojoArrayList.get(i).getPhone() + "");
                    Log.e("Address " + i, pojoArrayList.get(i).getAddress() + "");
                }
            }
        });

    }
}

activity.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.user33.workingtestapp.AddmoreActivity">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/myRc"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />


    <Button
        android:id="@+id/btnGetData"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="get Data" />
</RelativeLayout>

পোজো ক্লাস

public class AddMorePojo {

    String userName, phone, pass, Address;

    public AddMorePojo() {
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPass() {
        return pass;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }

    public String getAddress() {
        return Address;
    }

    public void setAddress(String address) {
        Address = address;
    }
}

অ্যাডাপ্টার বর্গ

public class AddMoreAdapter extends RecyclerView.Adapter<AddMoreAdapter.ViewHolder> {
    Context context;
    ArrayList<AddMorePojo> arrayList;

    public AddMoreAdapter(Context context, ArrayList<AddMorePojo> arrayList) {
        this.context = context;
        this.arrayList = arrayList;
    }

    @Override
    public AddMoreAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View view = LayoutInflater.from(context).inflate(R.layout.addmorelayout, parent, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(AddMoreAdapter.ViewHolder holder, int position) {

    }

    @Override
    public int getItemCount() {
        return arrayList.size();
    }

    public ArrayList<AddMorePojo> getArrayList()
    {
        return arrayList;
    }

    public class ViewHolder extends RecyclerView.ViewHolder {

        EditText edtName, edtPhone, edtPass, edtAdrress;

        public ViewHolder(View itemView) {
            super(itemView);

            edtName = itemView.findViewById(R.id.edtUname);
            edtPhone = itemView.findViewById(R.id.edtPhone);
            edtPass = itemView.findViewById(R.id.edtPass);
            edtAdrress = itemView.findViewById(R.id.edtAddress);

            edtName.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                }

                @Override
                public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                    AddMorePojo addMorePOJO = arrayList.get(getAdapterPosition());
                    addMorePOJO.setUserName(charSequence + "");
                    arrayList.set(getAdapterPosition(), addMorePOJO);


                }

                @Override
                public void afterTextChanged(Editable editable) {

                }
            });

            edtPhone.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                }

                @Override
                public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                    AddMorePojo addMorePOJO = arrayList.get(getAdapterPosition());
                    addMorePOJO.setPhone(charSequence + "");
                    arrayList.set(getAdapterPosition(), addMorePOJO);


                }

                @Override
                public void afterTextChanged(Editable editable) {

                }
            });
            edtPass.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                }

                @Override
                public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                    AddMorePojo addMorePOJO = arrayList.get(getAdapterPosition());
                    addMorePOJO.setPass(charSequence + "");
                    arrayList.set(getAdapterPosition(), addMorePOJO);


                }

                @Override
                public void afterTextChanged(Editable editable) {

                }
            });

            edtAdrress.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                }

                @Override
                public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                    AddMorePojo addMorePOJO = arrayList.get(getAdapterPosition());
                    addMorePOJO.setAddress(charSequence + "");
                    arrayList.set(getAdapterPosition(), addMorePOJO);


                }

                @Override
                public void afterTextChanged(Editable editable) {

                }
            });


        }
    }
}

অ্যাডাপ্টার কাস্টম বিন্যাস

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:cardElevation="10dp"
    app:cardUseCompatPadding="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <EditText
            android:id="@+id/edtUname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Enter User Name" />

        <EditText
            android:id="@+id/edtPass"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="********"
            android:imeOptions="actionNext"
            android:inputType="textPassword" />


        <EditText
            android:id="@+id/edtPhone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Enter Phone Number"
            android:imeOptions="actionNext"
            android:inputType="numberDecimal" />

        <EditText
            android:id="@+id/edtAddress"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Enter Address"
            android:imeOptions="actionNext"
            android:inputType="text" />


    </LinearLayout>

</android.support.v7.widget.CardView>




xamarin.android