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

Android में ArrayList ListView से अनयूज्ड स्पेस कैसे हटाएं?

ArrayList ListView में अनयूज्ड स्पेस हटाना

यह उदाहरण दर्शाता है कि Android में ArrayList ListView से अनयूज्ड स्पेस कैसे हटाया जाता है। trimToSize() मेथड ArrayList की क्षमता को उसके वर्तमान आकार तक कम कर देता है।

चरण 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.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<>();
        arrayList.ensureCapacity(20); // न्यूनतम क्षमता सेट करें

        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); // डुप्लीकेट रोकने के लिए Set का उपयोग
                arrayList.clear();
                arrayList.addAll(set);
                
                // वर्णानुक्रम में सॉर्ट करें
                Collections.sort(arrayList);
                
                // अनयूज्ड स्पेस हटाएं - क्षमता को आकार के बराबर करें
                arrayList.trimToSize();

                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 में ArrayList ListView से अनयूज्ड स्पेस कैसे हटाएं?

परिणाम में, हम मान इन्सर्ट कर रहे हैं और ListView उसे सॉर्ट करके दिखा रहा है। trimToSize() मेमोरी ऑप्टिमाइजेशन के लिए उपयोगी है जब आप जानते हैं कि ArrayList में अब और एलिमेंट्स नहीं जुड़ेंगे।

  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/

  1. एंड्रॉइड में ListView के बीच की लाइन्स कैसे हटाएं? एंड्रॉइड में ListView के बीच की लाइन्स कैसे हटाएं?

    एंड्रॉइड में ListView डिवाइडर लाइन्स हटाने का पूरा गाइड एंड्रॉइड ऐप डेवलपमेंट में अक्सर हमें ListView में आइटम्स के बीच दिखने वाली डिफ़ॉल्ट डिवाइडर लाइन्स को हटाने या कस्टमाइज़ करने की ज़रूरत पड़ती है। यह ट्यूटोरियल आपको स्टेप-बाय-स्टेप बताएगा कि कैसे setDivider(null) मेथड का उपयोग करके इन लाइन्स को