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

Android में ListView के लिए एलिमेंट्स को न्यूमेरिक ऑर्डर में कैसे स्टोर करें?

ListView में न्यूमेरिक ऑर्डर में एलिमेंट्स स्टोर करना

यह उदाहरण दर्शाता है कि Android में ListView के लिए एलिमेंट्स को न्यूमेरिक ऑर्डर में कैसे स्टोर किया जाता है। Collections.max() केवल अधिकतम मान लौटाता है; सॉर्टिंग के लिए Collections.sort() का उपयोग करें।

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

Android Studio में File → New Project पर जाएं और प्रोजेक्ट बनाएं।

चरण 2: लेआउट फ़ाइल (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>

चरण 3: MainActivity.java

package com.example.myapp;

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

public class MainActivity extends AppCompatActivity {

    EditText name;
    ArrayAdapter<String> arrayAdapter;
    ArrayList<String> arrayList;
    Set<String> set = new HashSet<>();
    private ListView listView;

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

        arrayList = 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();
            }
        });

        findViewById(R.id.save).setOnClickListener(v -> {
            String input = name.getText().toString().trim();
            if (!input.isEmpty()) {
                set.add(input);
                arrayList.clear();
                arrayList.addAll(set);

                // न्यूमेरिक सॉर्टिंग के लिए कस्टम Comparator
                Collections.sort(arrayList, new Comparator<String>() {
                    @Override
                    public int compare(String o1, String o2) {
                        try {
                            // संख्या के रूप में पार्स करके तुलना करें
                            double n1 = Double.parseDouble(o1);
                            double n2 = Double.parseDouble(o2);
                            return Double.compare(n1, n2);
                        } catch (NumberFormatException e) {
                            // गैर-संख्यात्मक स्ट्रिंग्स के लिए डिफ़ॉल्ट तुलना
                            return o1.compareTo(o2);
                        }
                    }
                });

                arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, arrayList);
                listView.setAdapter(arrayAdapter);
                Toast.makeText(this, "इन्सर्ट किया गया", Toast.LENGTH_LONG).show();
            } else {
                name.setError("मान दर्ज करें");
            }
        });
    }
}

ऐप चलाएं

डिवाइस कनेक्ट करें और ऐप चलाएं।

Android में ListView के लिए एलिमेंट्स को न्यूमेरिक ऑर्डर में कैसे स्टोर करें?

परिणाम में, हम मान 4 इन्सर्ट कर रहे हैं और ListView उसे 5 और 3 के बीच न्यूमेरिक ऑर्डर में स्टोर कर रहा है। ध्यान दें: मूल कोड में Collections.max() केवल अधिकतम मान लौटाता था, सॉर्ट नहीं करता था।

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

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

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

    Android में LinkedList से सभी आइटम एक साथ क्लियर करना यह ट्यूटोरियल दिखाता है कि LinkedList का उपयोग करके ListView के सभी एलिमेंट्स को एक क्लिक में कैसे डिलीट किया जाए clear() मेथड से। चरण 1: नया प्रोजेक्ट बनाएं Android Studio: File → New Project → विवरण भरें। चरण 2: लेआउट XML (res/layout/activity

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

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