কম্পিউটার টিউটোরিয়াল

Android-এ ListView স্ক্রোল করার সময় ব্যাকগ্রাউন্ড কালো হয়ে যাওয়া সমস্যা সমাধান

ListView উদাহরণের আগে ListView সম্পর্কে জানুন: ListView হলো ArrayList, List বা ডাটাবেস থেকে কালেক্ট করা আইটেমের সমষ্টি। সাধারণত ভার্টিক্যাল ফরম্যাটে আইটেম কালেকশন, স্ক্রোল আপ/ডাউন এবং ক্লিকেবল।

ListView স্ক্রোল করার সময় ব্যাকগ্রাউন্ড কালো হয়ে যাওয়া সমস্যা এড়ানোর সহজ সমাধান।

ধাপ ১: Android Studio-এ নতুন প্রজেক্ট তৈরি করুন

File → New Project → ডিটেইল পূরণ করুন।

ধাপ ২: res/layout/activity_main.xml-এ ListView-এ cacheColorHint অ্যাট্রিবিউট যোগ করুন

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    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">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <ListView
            android:id="@+id/list"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:cacheColorHint="#00000000"/>
    </LinearLayout>
</android.support.constraint.ConstraintLayout>

ListView-এ android:cacheColorHint="#00000000" যোগ করলে স্ক্রোল সময় ব্যাকগ্রাউন্ড কালো হয়ে যাওয়া সমস্যা সমাধান হয়।

ধাপ ৩: src/MainActivity.java-এ কোড যোগ করুন

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final ListView list = findViewById(R.id.list);
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("JAVA");
        arrayList.add("ANDROID");
        arrayList.add("C Language");
        arrayList.add("CPP Language");
        arrayList.add("Go Language");
        arrayList.add("AVN SYSTEMS");
        // আরও আইটেম যোগ করা হয়েছে স্ক্রোল টেস্টের জন্য
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, arrayList);
        list.setAdapter(arrayAdapter);
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String clickedItem = (String) list.getItemAtPosition(position);
                Toast.makeText(MainActivity.this, clickedItem, Toast.LENGTH_LONG).show();
            }
        });
    }
}

Manifest ফাইল পরিবর্তন দরকার নেই। অ্যাপ্লিকেশন রান করুন।

Android-এ ListView স্ক্রোল করার সময় ব্যাকগ্রাউন্ড কালো হয়ে যাওয়া সমস্যা সমাধান

এখন ListView স্ক্রোল করলে ব্যাকগ্রাউন্ড কালার ইস্যু দেখা যাবে না।

Android-এ ListView স্ক্রোল করার সময় ব্যাকগ্রাউন্ড কালো হয়ে যাওয়া সমস্যা সমাধান
  1. Android-এ ListView-এর জন্য ArrayList-এ এলিমেন্ট যোগ করার পদ্ধতি

  2. Android-এ ListView-এর জন্য ArrayList-এন এলিমেন্ট মুছে ফেলার পদ্ধতি

  3. Android-এ ListView আইটেমের ব্যাকগ্রাউন্ড রঙ পরিবর্তন করার পদ্ধতি

  4. অ্যান্ড্রয়েডে ListView-এর জন্য কাস্টম অ্যাডাপ্টার তৈরির পদ্ধতি