Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड में डायनामिक रूप से व्यूज कैसे जोड़ें और हटाएं?

LayoutInflater के साथ रनटाइम पर व्यूज जोड़ना/हटाना

यह उदाहरण दर्शाता है कि बटन क्लिक पर LinearLayout में डायनामिक रूप से व्यूज (EditText, Spinner, Delete बटन) कैसे जोड़ें और हटाएं।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें।

चरण 2: मेन लेआउट में कंटेनर और Add बटन

res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    android:id="@+id/parent_linear_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:layout_margin="5dp"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:orientation="horizontal">

        <EditText
            android:id="@+id/number_edit_text"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="5"
            android:inputType="phone"/>

        <Spinner
            android:id="@+id/type_spinner"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:entries="@array/types"
            android:gravity="right" />

        <Button
            android:id="@+id/delete_button"
            android:layout_width="0dp"
            android:layout_height="40dp"
            android:layout_weight="1"
            android:background="@android:drawable/ic_delete"
            android:onClick="onDelete"/>
    </LinearLayout>

    <Button
        android:id="@+id/add_field_button"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:background="#555"
        android:layout_gravity="center"
        android:onClick="onAddField"
        android:textColor="#FFF"
        android:text="फील्ड जोड़ें"
        android:paddingLeft="5dp"/>

</LinearLayout>

चरण 3: डायनामिक रो लेआउट (field.xml)

res/layout/field.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:orientation="horizontal">

    <EditText
        android:id="@+id/number_edit_text"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="5"
        android:inputType="phone"/>

    <Spinner
        android:id="@+id/type_spinner"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="3"
        android:entries="@array/types"
        android:gravity="right" />

    <Button
        android:id="@+id/delete_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_weight="1"
        android:background="@android:drawable/ic_delete"
        android:onClick="onDelete"/>

</LinearLayout>

चरण 4: स्ट्रिंग्स और स्टाइल्स

res/values/strings.xml में स्ट्रिंग ऐरे:

<string-array name="types">
    <item>मोबाइल</item>
    <item>ऑफिस</item>
    <item>होम</item>
</string-array>

चरण 5: MainActivity.java में डायनामिक लॉजिक

package com.example.sample;

import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity {
    private LinearLayout parentLinearLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        parentLinearLayout = (LinearLayout) findViewById(R.id.parent_linear_layout);
    }

    public void onAddField(View v) {
        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        final View rowView = inflater.inflate(R.layout.field, null);
        // Add बटन से पहले नई रो जोड़ें
        parentLinearLayout.addView(rowView, parentLinearLayout.getChildCount() - 1);
    }

    public void onDelete(View v) {
        parentLinearLayout.removeView((View) v.getParent());
    }
}

चरण 6: मैनिफेस्ट

मानक मैनिफेस्ट।

ऐप चलाएं

"फील्ड जोड़ें" बटन से नई पंक्तियां जोड़ें, प्रत्येक पंक्ति के डिलीट बटन से हटाएं।

एंड्रॉइड में डायनामिक रूप से व्यूज कैसे जोड़ें और हटाएं? एंड्रॉइड में डायनामिक रूप से व्यूज कैसे जोड़ें और हटाएं?

  1. Mac पर प्रिंटर कैसे जोड़ें और हटाएं Mac पर प्रिंटर कैसे जोड़ें और हटाएं

    पेपरलेस होने के बारे में बहुत सारी बातें होती हैं क्योंकि बहुत सारा काम ऑनलाइन हो जाता है। हालांकि, कुछ चीजों को अभी भी प्रिंट करने की आवश्यकता होती है जैसे रिपोर्ट, अनुबंध, और अन्य महत्वपूर्ण दस्तावेज या प्रकाशन, इसलिए प्रिंटर्स का अभी भी डिजिटल युग में स्थान है। यदि आप Mac कंप्यूटर का उपयोग कर रह

  1. अपने Android फोन पर Google अकाउंट कैसे जोड़ें, हटाएं और स्विच करें अपने Android फोन पर Google अकाउंट कैसे जोड़ें, हटाएं और स्विच करें

    एक नया Android डिवाइस सेट करते समय, अधिकांश लोग आमतौर पर सेटअप प्रक्रिया के हिस्से के रूप में अपना प्राथमिक Google अकाउंट जोड़ते हैं। हालांकि, आगे चलकर, हम में से कुछ उसी हैंडसेट पर अतिरिक्त अकाउंट एक्सेस करना चाह सकते हैं। आज, कई उपयोगकर्ताओं के पास व्यक्तिगत के अलावा कम से कम एक व्यावसायिक ईमेल ह

  1. iPhone ग्रुप मैसेजिंग में मास्टर करें: iMessage ग्रुप में प्रतिभागियों को जोड़ना और हटाना iPhone ग्रुप मैसेजिंग में मास्टर करें: iMessage ग्रुप में प्रतिभागियों को जोड़ना और हटाना

    iPhone Apple Inc. के सबसे केंद्रित उत्पादों में से एक है। वे iOS आधारित कई सुविधाएं प्रदान करते हैं, जो अग्रणी और सबसे उन्नत ऑपरेटिंग सिस्टम में से एक है। और आकर्षक सुविधाओं में से एक है ग्रुप टेक्स्ट, जिससे हम एक ही ग्रुप में कई लोगों के साथ चैट कर सकते हैं। इस लेख में, हम देखेंगे कि iPhone पर ग्रु