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

Android में ListView के लिए ArrayList में एलिमेंट कैसे इन्सर्ट करें?

Android में ArrayList और ListView का उपयोग करके डेटा जोड़ना

यह उदाहरण दर्शाता है कि Android ऐप में ArrayList का उपयोग करके ListView में डायनामिकली एलिमेंट्स कैसे जोड़े जाते हैं। हम एक साधारण UI बनाएंगे जहां उपयोगकर्ता नाम दर्ज कर सकता है और उसे सूची में जोड़ सकता है।

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

Android Studio खोलें, File → New Project पर जाएं और आवश्यक विवरण भरकर एक नया प्रोजेक्ट बनाएं।

चरण 2: लेआउट XML डिज़ाइन करें (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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">

    <EditText
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:hint="नाम दर्ज करें"
        android:layout_height="wrap_content" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <Button
            android:id="@+id/save"
            android:text="सेव करें"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <Button
            android:id="@+id/refresh"
            android:text="रिफ्रेश"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </LinearLayout>

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </ListView>

</LinearLayout>

व्याख्या: यहां एक EditText है नाम इनपुट के लिए, दो बटन (सेव और रिफ्रेश), और एक ListView डेटा प्रदर्शित करने के लिए।

चरण 3: MainActivity.java में लॉजिक लागू करें

package com.example.andy.myapplication;

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    Button save, refresh;
    EditText name;
    ArrayAdapter<String> arrayAdapter;
    private ListView listView;
    ArrayList<String> array_list;

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

        array_list = new ArrayList<>();
        name = findViewById(R.id.name);
        listView = findViewById(R.id.listView);

        // रिफ्रेश बटन - एडैप्टर को नोटिफाई करता है
        findViewById(R.id.refresh).setOnClickListener(v -> {
            if (arrayAdapter != null) {
                arrayAdapter.notifyDataSetChanged();
                listView.invalidateViews();
                listView.refreshDrawableState();
            }
        });

        // सेव बटन - ArrayList में डेटा जोड़ता है
        findViewById(R.id.save).setOnClickListener(v -> {
            String inputName = name.getText().toString().trim();
            if (!inputName.isEmpty()) {
                array_list.add(inputName);
                arrayAdapter = new ArrayAdapter<>(MainActivity.this,
                        android.R.layout.simple_list_item_1, array_list);
                listView.setAdapter(arrayAdapter);
                Toast.makeText(MainActivity.this, "इन्सर्ट किया गया", Toast.LENGTH_LONG).show();
                name.setText(""); // इनपुट फील्ड क्लियर करें
            } else {
                name.setError("नाम दर्ज करें");
            }
        });
    }
}

मुख्य सुधार:

  • जेनेरिक्स का उपयोग: ArrayList<String> और ArrayAdapter<String> टाइप सेफ्टी के लिए।
  • लैंब्डा एक्सप्रेशन: क्लीनर कोड के लिए ऑनक्लिक लिसनर्स सरल किए गए।
  • इनपुट वैलिडेशन: खाली स्ट्रिंग्स को रोकने के लिए .trim() जोड़ा गया।
  • UI फीडबैक: सफल इन्सर्शन के बाद इनपुट फील्ड क्लियर होता है।

ऐप चलाएं

अपना Android डिवाइस कनेक्ट करें, Android Studio में Run आइकन पर क्लिक करें, और अपना डिवाइस चुनें। ऐप लॉन्च होगा जहां आप नाम दर्ज कर सकते हैं, "सेव करें" दबा सकते हैं, और उन्हें ListView में देख सकते हैं।

Android में ListView के लिए ArrayList में एलिमेंट कैसे इन्सर्ट करें?

नतीजा: उपयोगकर्ता द्वारा दर्ज नाम ArrayList में जुड़ते हैं और ListView में तुरंत दिखाई देते हैं।

  1. Android में LinkedList में एलिमेंट जोड़कर ListView में कैसे दिखाएं? Android में LinkedList में एलिमेंट जोड़कर ListView में कैसे दिखाएं?

    Android में LinkedList का उपयोग करके ListView में डेटा प्रदर्शित करना यह उदाहरण दर्शाता है कि Android में LinkedList में एलिमेंट जोड़कर ListView में कैसे दिखाएं। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में एक नया प्रोजेक्ट बनाएं: File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक

  1. Android में ListView के लिए ArrayList से एलिमेंट कैसे डिलीट करें? Android में ListView के लिए ArrayList से एलिमेंट कैसे डिलीट करें?

    Android में ArrayList और ListView से आइटम हटाने का पूरा गाइड यह उदाहरण दर्शाता है कि ArrayList का उपयोग करके ListView में से विशिष्ट एलिमेंट्स कैसे हटाए जाते हैं। ArrayList रैंडम एक्सेस के लिए ऑप्टिमाइज्ड है। चरण 1: प्रोजेक्ट सेटअप Android Studio में नया प्रोजेक्ट बनाएं: File → New Project। चरण 2:

  1. Android में ListView के लिए कस्टम एडाप्टर कैसे बनाएं? Android में ListView के लिए कस्टम एडाप्टर कैसे बनाएं?

    Android ListView के लिए कस्टम एडाप्टर बनाना यह उदाहरण दर्शाता है कि BaseAdapter को एक्सटेंड करके कस्टम एडाप्टर कैसे बनाया जाए, जो कस्टम डेटा मॉडल और कस्टम रो लेआउट के साथ ListView में डेटा बाइंड करता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: मेन लेआउट (res/