केवल एक मल्टी सिलेक्टलिस्ट के साथ सेटिंग्स एक्टिविटी को देखते हुए सरणी संसाधनों में इसकी प्रविष्टियों, मानों और डिफ़ॉल्ट मानों के साथ, कुछ चेकबॉक्स चेक के रूप में नहीं खींचे जाते हैं, भले ही एंड्रॉइड जानता है कि वे हैं जांच की जानी चाहिए। जब एक अनचेक आइटम क्लिक किया जाता है, तो आइटम अनचेक रहता है (क्योंकि एंड्रॉइड सोचता है कि यह चेक किए गए आइटम को अनचेक कर रहा है)।MultSelectListPreference चेकबॉक्स चेक नहीं किया गया है जब प्रारंभ में सूची में दिखाई नहीं दे रहा है (एपीआई 23)
Here's a video of this happening
परियोजना यहाँ उपलब्ध है: https://github.com/ImmersibleElf/MSLPBug
यह एपीआई 21 और 22 में ठीक से काम करने लगता है, लेकिन 23 में नहीं इस शायद विचारों की रीसाइक्लिंग में एक बग है? या कारण क्या हो सकता है?
SettingsActivity.java
package com.immersibleelf.mslpbug;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import android.support.v7.app.AppCompatActivity;
public class SettingsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Display the fragment as the main content.
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
}
@Override
public void onPause() {
super.onPause();
}
public static class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the settings from an XML resource
addPreferencesFromResource(R.xml.settings);
}
}
}
settings.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<MultiSelectListPreference
android:key="mslp_key"
android:title="MultiSelectListPreference"
android:entries="@array/mslp_entries"
android:entryValues="@array/mslp_entry_values"
android:defaultValue="@array/mslp_default_value"
android:persistent="true"
/>
</PreferenceScreen>
arrays.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="mslp_entries">
<item>Entry 01</item>
<item>Entry 02</item>
<item>Entry 03</item>
<item>Entry 04</item>
<item>Entry 05</item>
<item>Entry 06</item>
<item>Entry 07</item>
<item>Entry 08</item>
<item>Entry 09</item>
<item>Entry 10</item>
<item>Entry 11</item>
<item>Entry 12</item>
<item>Entry 13</item>
<item>Entry 14</item>
<item>Entry 15</item>
</string-array>
<string-array name="mslp_entry_values">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
</string-array>
<string-array name="mslp_default_value">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
</string-array>
</resources>
मुझे लगता है कि, रीसाइक्लिंग पर एक Android बग है यदि आप और अधिक तत्व है जब आप अचिह्नित तत्व स्क्रॉल बेतरतीब ढंग से – Xan
एक ही समस्या हो रही। क्या आपको कोई और जानकारी या संभावित फिक्स मिला? – mdiener
@mdiener मैं [यहां इसकी सूचना दी] (https://code.google.com/p/android/issues/detail?id=205487) लेकिन मुझे लगता है कि यह एक बहुत ही कम प्राथमिकता वाली बग है। मैंने इसे अपने आप ट्रैक करने की कोशिश की लेकिन मेरे विंडोज पीसी पर अब तक इसे ट्रैक कर सकता था। यदि आपके पास लिनक्स या मैक ओएस है, और एंड्रॉइड स्रोत के साथ गड़बड़ लग रहा है, तो मैं आपको समस्याग्रस्त क्षेत्रों की ओर इशारा कर सकता हूं। लेकिन यह भी जानना कि वास्तव में क्या और कहाँ गलत हो रहा है, यह आवश्यक रूप से एक स्पष्ट फिक्स की ओर ले जाएगा। – Chroaster