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

एंड्रॉइड में HashMap से ArrayList में डेटा हटाकर ListView में कैसे दिखाएं?

HashMap से डेटा हटाकर ListView में प्रदर्शित करना

यह उदाहरण दर्शाता है कि HashMap में स्टोर डेटा को ArrayList में बदलकर ListView में कैसे दिखाएं, और रिकॉर्ड नंबर द्वारा डेटा कैसे हटाएं।

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

Android Studio में नया प्रोजेक्ट बनाएं।

चरण 2: 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"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/record"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="रिकॉर्ड नंबर"
        android:inputType="number" />

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

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

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

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

        <Button
            android:id="@+id/delete"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="हटाएं" />

    </LinearLayout>

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

</LinearLayout>

चरण 3: MainActivity.java

package com.example.myapplication;

import android.os.Bundle;
import android.support.v7.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;
import java.util.HashMap;
import java.util.Map;

public class MainActivity extends AppCompatActivity {

    private EditText nameEditText, recordEditText;
    private ListView listView;
    private ArrayAdapter<String> arrayAdapter;
    private ArrayList<String> arrayList;
    private Map<String, String> dataMap = new HashMap<>();

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

        nameEditText = findViewById(R.id.name);
        recordEditText = findViewById(R.id.record);
        listView = findViewById(R.id.listView);
        arrayList = new ArrayList<>();

        // रिफ्रेश बटन
        findViewById(R.id.refresh).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (arrayAdapter != null) {
                    arrayAdapter.notifyDataSetChanged();
                }
            }
        });

        // हटाएं बटन
        findViewById(R.id.delete).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String recordKey = recordEditText.getText().toString().trim();
                if (!recordKey.isEmpty()) {
                    if (dataMap.containsKey(recordKey)) {
                        dataMap.remove(recordKey);
                        updateListView();
                        Toast.makeText(MainActivity.this, "हटा दिया गया", Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(MainActivity.this, "रिकॉर्ड नहीं मिला", Toast.LENGTH_SHORT).show();
                    }
                } else {
                    recordEditText.setError("रिकॉर्ड नंबर दर्ज करें");
                }
            }
        });

        // सेव बटन
        findViewById(R.id.save).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = nameEditText.getText().toString().trim();
                String record = recordEditText.getText().toString().trim();

                if (!name.isEmpty() && !record.isEmpty()) {
                    dataMap.put(record, name);
                    updateListView();
                    Toast.makeText(MainActivity.this, "सेव हो गया", Toast.LENGTH_SHORT).show();
                } else {
                    if (name.isEmpty()) nameEditText.setError("नाम दर्ज करें");
                    if (record.isEmpty()) recordEditText.setError("रिकॉर्ड नंबर दर्ज करें");
                }
            }
        });
    }

    private void updateListView() {
        arrayList.clear();
        arrayList.addAll(dataMap.values());
        if (arrayAdapter == null) {
            arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, arrayList);
            listView.setAdapter(arrayAdapter);
        } else {
            arrayAdapter.notifyDataSetChanged();
        }
    }
}

कैसे काम करता है

  1. सेव करें: नाम और रिकॉर्ड नंबर डालकर सेव करें - HashMap में स्टोर होता है
  2. रिफ्रेश: ListView को अपडेट करता है
  3. हटाएं: रिकॉर्ड नंबर डालकर हटाएं बटन दबाएं - HashMap से हट जाता है

ऐप चलाएं

कई रिकॉर्ड सेव करें, फिर रिकॉर्ड नंबर डालकर हटाएं बटन दबाएं।

एंड्रॉइड में HashMap से ArrayList में डेटा हटाकर ListView में कैसे दिखाएं?

एंड्रॉइड में HashMap से ArrayList में डेटा हटाकर ListView में कैसे दिखाएं?

  1. क्लिक पर ListView से आइटम डायनामिक रूप से कैसे हटाएं? क्लिक पर ListView से आइटम डायनामिक रूप से कैसे हटाएं?

    क्लिक पर ListView आइटम हटाना यह ट्यूटोरियल दिखाता है कि उपयोगकर्ता द्वारा टैप करने पर ListView से आइटम कैसे हटाया जाए। कोर पैटर्न: एडॉप्टर के डेटा स्रोत से आइटम हटाएं और notifyDataSetChanged() कॉल करें। सेटअप एंड्रॉइड स्टूडियो, न्यूनतम SDK 21+ पैकेज: com.example.removeitemlistview चरण 1 - लेआउट

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

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

  1. एंड्रॉइड से मैलवेयर कैसे हटाएं? एंड्रॉइड से मैलवेयर कैसे हटाएं?

    परिचय स्मार्टफोन में बैंकिंग ऐप्स, व्यक्तिगत डेटा, स्थान इतिहास आदि संवेदनशील जानकारी होती है। एंड्रॉइड डिवाइस भी कंप्यूटर की तरह मैलवेयर (वायरस, ट्रोजन, स्पायवेयर, एडवेयर, रैंसमवेयर) से संक्रमित हो सकते हैं। मैलवेयर कैसे प्रवेश करता है? असुरक्षित स्रोतों/थर्ड-पार्टी ऐप स्टोर्स से ऐप इंस्टॉल करना