lisovaccaro
lisovaccaro

Reputation: 33966

Java move <Preference> from one PreferenceScreen to another?

I'm trying to do something similar to iOS editable UITableView. I have a list of "added items" if the user clicks on "Add new item" he is taken to a PreferenceScreen with multiple <Preference> elements, onclick the should disappear from this screen and add it to the "Added list" (actually a <PreferenceCategory>), then they should be able to remove them from here or edit their order. This is similar to iOS editable lists.

enter image description here

This is my XML:

<PreferenceScreen android:title="ALL APPS" android:key="app_list">  
    <!-- A <preference> for each app -->
</PreferenceScreen>
<PreferenceCategory android:title="ADDED APPS" android:key="my_apps_list">
</PreferenceCategory>

I have tried uncountable times and I cannot get it to work.

How can I get it done?

Upvotes: 3

Views: 599

Answers (3)

poitroae
poitroae

Reputation: 21377

I've experimented around a bit and it's actually very easy when you nest your PreferenceScreens.

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <CheckBoxPreference android:title="Check it!" />

    <PreferenceScreen android:title="To the other preferences!" android:summary="I really hope this works &lt;3" >
        <EditTextPreference android:title="Edit your name" android:summary="Edit your name :)" />
        <CheckBoxPreference android:title="Accept answer" />
    </PreferenceScreen>

</PreferenceScreen>

enter image description here

PS: Please excuse my hard-coded string literals - it was just for testing! :)

Upvotes: 2

mico
mico

Reputation: 12748

Please have a look to the accepted answer on this question:

How to remove Android preferences from the screen

Sometimes, if categories are present, you have to

"reference the category containing the preference you wanted to remove and then remove that preference from that category"

like the answer there says. Isn't this also your case?

Hope this helped.

Upvotes: 0

android developer
android developer

Reputation: 115952

this looks like a very similar question to what i've asked in the past:

android - showing listView in PreferenceActivity

when selecting the items to show , store them in some way (DB ,references ,etc...) and then use the solution i've found .

as you can see , the view used in preference activity is actually a listView , so it's weird to put a listView in a listView . what you need is a special trick , and that's something i've written about .

Upvotes: 0

Related Questions