Android :: Listview Selector Based On Item-type
Nov 3, 2010Look for examples where ListViews can show multiple view types.

Look for examples where ListViews can show multiple view types.
Trying to get an Android ListView to do what I want.
I want to have a ListView in single choice mode with a custom row layout that has a different background color for selected, pressed and checked (i.e. the choice is shown by a color rather than a check mark - this is what I would normally call the "selection" but selection in android seems line I'm about to choose before I press it)
I thought of trying a background selector with the three states in it. It works fine for state_selected and state_pressed, but not state_checked. So I created a CheckableRelativeLayout that extends RelativeLayout and implements Checkable and used for the view of each row.
A simplified version is shown here:
CODE:.....
bkg_selector looks like
CODE:..............
The colors are defined elsewhere.
This still didn't work. So in the custom ListAdapter I tracked the "checked" row and tried (in getView) if( position == checkedPosition ) ret.getBackground().setState(CHECKED_STATE_SET);
And it STILL doesn't work. How can I get it to do what I want?
Is it possible to apply a custom background to each Listview item via the list selector?
The default selector specifies @android:color/transparent for the state_focused="false" case, but changing this to some custom drawable doesn't affect items that aren't selected. Romain Guy seems to suggest in this answer that this is possible.
I'm currently achieving the same affect by using a custom background on each view and hiding it when the item is selected/focused/whatever so the selector is shown, but it'd be more elegant to have this all defined in one place.
For reference, this is the selector I'm using to try and get this working:
CODE:...............
And this is how I'm setting the selector:
CODE:.........................
I occur a problem when develop a application on android.There have two image which can be download from server in a list item, it will show one image and will show another image when user select or click this item.if I try to download another image from server when user click it,the user will never have time to see it, for this time is shorter than download image form server,so i want to download two of them,and when I click it again,the app can invoke another image from local.but I do not know how to invoke this image?
View 1 Replies View RelatedI think this is a pretty simple question but I'm having trouble finding the answer out there.I'm developing an android application (currently developing against v1.5 API) and one of the activities use a ListView. I want to be able to set the properties of each List Item based on the state of an in memory object rather than the state of the view or list item.Here is a simple example....say I have a Person class who's public members are defined as follows. Code...
View 1 Replies View RelatedI have created a ListView and applied a selector to it as follows
CODE:..............
When focussed or pressed, the background of the ListView item comes as specified in the selector. But the default background is never applied, can you tell me what is wrong?
By the way, this is the customised row xml I've used:
CODE:...................
I have 2 questions regarding a ListView in Android:
How can I get the color of the listview's focused row ? I tried to use the ListView.getSelector() method, which according to its documentation should give me what I'm looking for, but it's giving me a Drawable object which I don't know how to retrieve the color from (if possible...).
How can I set the color of the listview's focused row ? Here I tried to use the setSelector() method on the listview, passing it a ColorDrawable object, but the result of doing it is that the whole background of the list view is painted in that color... and this is not what I wanted of course...
I'm looking for suggestions on how to go about adding a ListView selector that is 'permanent'. By this, I mean a single row in the ListView is always highlighted; it should move up or down in reponse to any D-pad presses (i.e. like the default selector) but also remain set/highlighted if the user were to scroll the ListView in either direction (i.e. it's still highlighted even when it's off-screen).
I've looked at using the standard selector mechanism, but am unable to get the selector to remain in place if the ListView is touched (and thus scrolled), so it makes me think that this isn't the best option? Perhaps there's a <selector> "state_*" that I've ignored?
The other option would be to use the onItemSelected() callback, but at first look this appears more convoluted?
Any suggestions/recommendations/experiences gratefully received.
I have a listview with a custom item_row.xml. I've defined a selector in this way:
CODE:................
And then put into item_row.xml in this way:
CODE:...................
I want 2 things:
When i move with arrow keys, the item selected changed its background. It's works fine with the actual implementation of selector.
When i press a item, the item changed its background too, but it doesn't work with the actual selector.
I try to set also into the ListView android:listSelector="@drawable/list_selector" but it doesn't work neither.
I am trying to style my ListView with two 9-patch background images (16px * 9px), one dark image for default state and another green image for selected and pressed state.
It works except for just one problem that when I select or press one list item, it seems that the selected item overlap the next one a little bit as I can see some pixels of the green background image is on the top of next item.
I have a ListView. When I click on a ListItem, I set the background of the ListItem (it's view) to another color:
CODE:........
Here is my adapter:
CODE:......
The problem is, if I select multiple rows, then multiple rows have a colored background. I only want the clicked item to have a colored background. So if I click on row 2, I want it to turn red, then if I click row 1, I want row 2 to go back to normal, and row 1 to turn red.
How to do a listview which looks like this? I'm interesting in the style of rows with an own background and the selector working fine.
View 1 Replies View RelatedI have an expandable list with a custom adapter. Everything works great but there are two problems.
First whenever a group or child has a custom background color set the orange selector does not show up. If I dont setup a color the selector draws nicely and also the fade away for context menus works.
Second, some of my text inside a list item is linkified. Whenever a link is present the selector does not draw again. It seems that the click event is handled by the internal link view instead of propagating to the list view.
Should I create a Listener within a BaseAdapter or should I pass it in? I have 4 classes that inherit from a base class. I pass the Adapter a list objects.
The Adapter is eventually used with a ListActivity I want to create a View based on the derived class and I want them to launch an Activity based on the type of a View. Currently I create the intent and Listener in the BaseAdapter. Is what I'm doing a good pratice?
How can I highlight a row in a ListView backed by a CursorAdapter knowing the row ID of the item?
View 1 Replies View RelatedI've list view item as a object, I want to fetch item details as web to show.
View 2 Replies View RelatedI was curious if there was a way that I can assign each menu item in a ListView its ID from the SQLite database, so that when I do something like onClick, or using a ContextMenu, I can tell what item / row I am referencing to.
View 1 Replies View RelatedI have an issues, I want to show 20 items in the list.
But there is a catch: if the user scrolls down to the bottom of the list, there will be an item that says: "Show more items", and when the users click on it, more items will be added to the list.
My question is how is poosible to have a last item, that has a different style and looks different: and does different things,(I think this is used in QuickSearchbox)
Now i want the first item of the list to be automatically focused when i launch the application How can i set the focus on any item of the list when i click on the some other view for example a button?
View 1 Replies View RelatedI'm writing an app with ListView layout and i want to add to any line in this ListView CheckBox. How can i do this?
View 3 Replies View RelatedI would like to change the background color of a ListView Item after it has been touched until a further event.
This is my code:
CODE:............
Changing the background color of view yields weird results.
I thought I could use the position int, but when I click on the item in the list view, nothing happens. Please help. Code...
View 1 Replies View RelatedI'm using a custom view to display items in a listview. For some reason every time the list is populated; the first item is shown as selected (ie; orange highlight). I've tried everything I can think about to solve it; any ideas?
View 2 Replies View RelatedI have a listview which has a bunch of selections. I want to keep the focus on the listview in touchmode and get the item selected. What is the best way to do that?
I found this blog:
http://bestsiteinthemultiverse.com/2009/12/android-selected-state-listview-example/ and
http://developer.android.com/resources/articles/touch-mode.html
What does the community suggest?
This is my list view item: I want to put an OnClickListener on the Checkbox. But I need to get the list item that the CheckBox is in, via row id. How can I do that in the onClick method.
View 1 Replies View RelatedI need to get the selected Item from a ListView in adnroid .
View 1 Replies View RelatedPlease Help me for getting the selected Item from a ListView. Items for the ListView are getting from a xml file. Elements of the ListView are filled up by the adapter(adpter contains ImageView and textView). I only need the TextView content from the ListView.By using the onItemClick i get only the index of the item.
View 2 Replies View RelatedI am trying to make a listview with icon in every item of this list view. i mean i want to put an icon in every item of listview. please let me know wot should i do for that.
View 2 Replies View RelatedI'm wondering if it is possible to rerender just one element in a listview? I assume by calling notifyDatasetChanged() is gonna rerender the whole list?
View 1 Replies View RelatedI want to remove the first line from my ListView.
View 6 Replies View Related