एंड्रॉइड में ListView डिवाइडर लाइन्स हटाने का पूरा गाइड
एंड्रॉइड ऐप डेवलपमेंट में अक्सर हमें ListView में आइटम्स के बीच दिखने वाली डिफ़ॉल्ट डिवाइडर लाइन्स को हटाने या कस्टमाइज़ करने की ज़रूरत पड़ती है। यह ट्यूटोरियल आपको स्टेप-बाय-स्टेप बताएगा कि कैसे setDivider(null) मेथड का उपयोग करके इन लाइन्स को पूरी तरह से हटाया जाए।
पूर्व-आवश्यकताएं
- Android Studio इंस्टॉल्ड हो
- बेसिक Java/XML ज्ञान
- एक एंड्रॉइड डिवाइस या एमुलेटर टेस्टिंग के लिए
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio खोलें → File → New → New Project चुनें → "Empty Activity" सेलेक्ट करें → प्रोजेक्ट नाम, पैकेज नाम, सेव लोकेशन भरें → Finish पर क्लिक करें।
चरण 2: Layout XML कॉन्फ़िगर करें
res/layout/activity_main.xml में ListView जोड़ें। ध्यान दें कि हमने यहां कोई डिवाइडर-संबंधी एट्रिब्यूट नहीं दिया है — उसे हम Java कोड में हटाएंगे।
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
चरण 3: MainActivity में लॉजिक लिखें
src/MainActivity.java में एडाप्टर सेट करें और महत्वपूर्ण लाइन listView.setDivider(null); जोड़ें।
package com.example.listviewnodivider;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
ListView listView;
String[] mobilePhones = {"Samsung", "iPhone", "Nokia", "Alcatel", "Blackberry", "Oppo", "Sony"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.listView);
ArrayAdapter<String> adapter = new ArrayAdapter<>(
this,
android.R.layout.simple_list_item_1,
android.R.id.text1,
mobilePhones
);
listView.setAdapter(adapter);
// 👇 यही वह जादुई लाइन है जो डिवाइडर हटा देती है
listView.setDivider(null);
}
}
चरण 4: AndroidManifest.xml (आमतौर पर ऑटो-जेनरेटेड)
सुनिश्चित करें कि आपकी मुख्य एक्टिविटी डिक्लेयर्ड है:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.listviewnodivider">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.ListViewNoDivider">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
चरण 5: ऐप चलाएं और टेस्ट करें
- अपना फोन USB डिबगिंग ऑन करके कनेक्ट करें या एमुलेटर शुरू करें।
- Android Studio में Run ▶ बटन दबाएं।
- डिवाइस पर ऐप खुलेगा — ListView में कोई डिवाइडर लाइन नहीं दिखेगी।
💡 प्रो टिप: डिवाइडर कस्टमाइज़ करना
अगर आप लाइन हटाने के बजाय उसका रंग/ऊंचाई बदलना चाहें:
// रंग बदलने के लिए
listView.setDivider(new ColorDrawable(Color.GRAY));
listView.setDividerHeight(2); // पिक्सल में ऊंचाई
// या XML में सीधे
<ListView
android:divider="@android:color/transparent"
android:dividerHeight="0dp" />
सारांश
ListView.setDivider(null) एक लाइन में डिवाइडर हटा देता है। यह तरीका API लेवल 1 से काम करता है और सभी एंड्रॉइड वर्ज़न पर विश्वसनीय है। आधुनिक ऐप्स में RecyclerView पसंद किया जाता है, जहां ItemDecoration के ज़रिए डिवाइडर कंट्रोल किया जाता है।