Android :: ListView - Index And Position Behavior Upon Restart()
May 19, 2010
I am using a ListView with an ArrayAdapter that holds objects. When I select an item, I am capturing the position and index of the selected item. If I scroll down prior to selection, the position and index represent the location of the item in the list. Selecting that items takes me to another activity. When I use the back button to return to the list, it seems that the ListView gets a new position and index for the visible items.
As a result, I can't figure out how to reference the selected item during the restart() of the ListView Activity. I have tried to capture position and index, but as I've said, they change upon returning to the Activity.
Is my understanding of the ListView "redraw" correct? Does it renumber my items based on what's visible? -When in the life cycle is getView() called? Is there a way to force an update to the ListView so that my captured index still points to the same object?
View 1 Replies
Mar 26, 2010
I am creating a list .. the elements of the list are drawn from sqlite database .. I populate the list using ArrayList and ArrayAdapter ...upon clicking the items on the list I want to be able to fire an intent containing info about the item clicked ... info like the index number of the item .. using the method : onItemClick(AdapterView av, View v, int index, long arg)
I do get index of the item clicked . however it is of the list currently displayed . the problem comes when I do setFilterTextEnabled(true) , and on the app type in some text to to search some item ..and then click it ..rather than giving me the index of the item on the original list it gives me the index on filtered list..
following is the snippet of code:
myListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> av, View v, int index, long arg) {
Intent lyricsViewIntent = new Intent(iginga.this, LyricsPage.class);
lyricsViewIntent.putExtra("title", songList.get((int)arg).getTitle());
lyricsViewIntent.putExtra("id", songList.get((int)arg).getSongId());
startActivity(lyricsViewIntent);
}
});
myListView.setTextFilterEnabled(true);
Is there any way I can get the original index /position of the item instead of the one showing in filtered text ...when filtered.
View 1 Replies
View Related
Feb 20, 2010
I have a TextView with an OnTouchListener. What I want is the character index the user is pointing to when I get the MotionEvent. Is there any way to get to the underlying font metrics of the TextView?
View 1 Replies
View Related
Aug 23, 2010
Is it possible to have an index on the righthand side of a ListView? This is possible on the iPhone where running down the righthand side the alphabet is shown. Touching a letter on the alphabet brings one to the beginning of the items in the ListView that start with that letter.
Is there built-in code in Android for this functionality? Or is this something one would have to custom make?
View 2 Replies
View Related
Sep 20, 2010
I have a ListView set up in single-choice mode like this:
<ListView android:id="@id/android:list"android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="#ff444444" android:layout_weight="1"
android:drawSelectorOnTop="false" android:choiceMode="singleChoice" android:scrollbars="vertical"
android:headerDividersEnabled="true"/>
When I press my finger on a choice, the selection changes from white text on light gray to black text on orange. But as soon as I lift my finger, the selection reverts to the original state. I'd like that chosen row to remain in the black-text-on-orange mode when I lift my finger so that the user knows what was selected in the list (my onClickListener has captured the selected row, of course). Is there a way I can tell the ListView that I want this behavior or something similar so the user knows what item has been selected?
View 6 Replies
View Related
Jul 10, 2010
I got two kind of lists on 4 different views. All lists are clickable and starts an activity to read the clicked record. One is just a listview populated from the DB and works fine. The second is also a listview populated from a DB but has a addHeaderView. This makes the list forget where it was when you return from the listview's intent. If I remove the addHeaderView(); it works fine. Why does AddHeaderView changes or even malfunctions ListView's behavior?
View 2 Replies
View Related
Sep 16, 2010
I have been trying now for a few hours to reverse the scrolling of behavior of the ListView. Essentially when scrolling down with my finger I want the list to scroll up!
View 1 Replies
View Related
Feb 4, 2010
I have a listview showing contacts.
When I'm scrolling the list the scroll works pretty smooth however when/if I'm trying to continue the scroll in the middle of the last scrolling the scroll just stops and sometimes the item I clicked on is selected (I have registered an OnClickListener to the item view).
I would like to get smooth scrolling just as in the device native contact list.
My implementation builds each contact a view containing: 1. Big picture for the contact image. 2. Small picture for the type of the contact. 3. TextView with the Contact name 4. TextView with some extra text about that contact.
My current layout for every item looks like:
CODE:........................
I've tried changing the LinearLayouts to relative ones but saw no improvement in performance.
I've created my own "Selector" in code (to eliminate the time it takes to load the resource) so that odd rows will have different background color. The code looks like:
CODE:........
View 3 Replies
View Related
Jun 18, 2010
Is there any way i can make my listactivity (rather listview) highlight the List Item when it is clicked (pressed) upon? (...and remain highlighted) The default behavior, simply highlights the item for a moment, and it gradually fades to black... Currently, the highlighting only happens when we use the DPad... It'd be ideal if atleast one list item is "highlighted" at all times. Worst case scenario, i may have to keep track of the "last clicked item" (by default the first) and change its background or something...but i was hoping there was an easier way...
View 1 Replies
View Related
Apr 29, 2010
I'm currently working on a small update to a project and I'm having an issue with Relative_Layout and fill_parent in a list view. I'm trying to insert a divider between two sections in each row, much like the divider in the call log of the default dialer. I checked out the Android source code to see how they did it, but I encountered a problem when replicating their solution.
To start, here is my row item layout:
CODE:..........
The issue I'm facing is that each row has a thumbnail of varying height (ImageView01). If I set the RelativeLayout's layout_height property to fill_parent, the divider does not scale vertically to fill the row (it just remains a 1px dot). If I set layout_height to "?android:attr/listPreferredItemHeight", the divider fills the row, but the thumbnails shrink. I've done some debugging in the getView() method of the adapter, and it seems that the divider's height is not being set properly once the row has it's proper height.
Here is a portion of the getView() method:
CODE:.........
The rest of the method simply sets the appropriate text and images for the row.
Also, I create the inflater object in the adapter's constructor with: inflater = LayoutInflater.from(context);
Am I missing something essential? Or does fill_parent just not work with dynamic heights?
View 1 Replies
View Related
Jul 30, 2010
I have a listview displaying my data.Ok. I want to set the scroll position in a position of my choice, but I just cant do it. I used :
myListView.setSelection( anyPosition ); myListView.setSelected(true); and has not worked. I also tried : myListView.scrollTo(0, PositionY); and myListView.scroolBy(0, PositionY);
and there's a strange behavior, this two methods doesn't put the scrool in the "PositionY", it made the "PositionY" be the first position in the list, cutting everything that exist before.
View 3 Replies
View Related
Jun 10, 2010
I have a long listView that the user scrolls around and then returns to the previous menu. What I want is that when the user opens this list View again the list to be scrolled to where the it was previously left. Any ideas on how this can be achieved ?
View 2 Replies
View Related
Aug 10, 2010
I have a ListView that is controlled by a standard BaseAdapter.When the user clicks a button, I want the ListView to Scroll into view the 100th record.How is that done?
View 1 Replies
View Related
Apr 7, 2009
In my app, my main class extends ListActivity and calls a fillData() function to reload the list whenever changes are made. I'm still getting the hang of this, so I borrowed that concept from the Android Notepadv1-Notepadv3 tutorials. Everything works great, however whenever I need to change the list (remove an item, re-sort it, edit an item), the ListView refreshes and loses its scroll position. The scroll position is reset to the top after each fillData() call.
It appears to be resetting the scroll position to the top because I'm using setListAdapter() each time in fillData(), setting it to a new SimpleCursorAdapter. How can I get the list to "update in place", where the scroll position is seamlessly maintained to the user? I tried heading down the "items.changeCursor(cursor)" path, but that didn't seam to do much for me.......................
View 2 Replies
View Related
Jan 7, 2010
In a ListView/CursorAdapter, it is easy to go from a position to an itemId
CODE:..........
Is there any way to do the reverse mapping? From an itemId, get its position in the list?
View 2 Replies
View Related
Oct 26, 2010
I've just added a header to my ListView and I have to change a bunch of code because the header essentially becomes position 0 (Meaning the Cursor indices of my CursorAdapter do not line up with the indicies of the list. They are off by 1 now). Why? This seems a bit silly to me.
The only reason I can come up with is that a developer may want to access the header. Fine. Provide something like getListView().getHeader().
View 1 Replies
View Related
Apr 21, 2010
I was wondering if it is possible to start a ListActivity and in real time decide how far down the list it should be focused on. (Example: When the activity is started it checks for certain conditions and then it may scroll down to a row partially through the list.)
View 1 Replies
View Related
Apr 27, 2010
How can I maintain the position of my ListView in my activity when I go to another activity (by launching another intent) and then come back (press the back button)?
View 2 Replies
View Related
Oct 10, 2009
I'm building a chat room application where new events are being polled for every X seconds. Every time that happens, this code updates the RoomAdapter (a custom subclass of ArrayAdapter) with the new data and scrolls it to the bottom:
RoomAdapter adapter = (RoomAdapter) getListAdapter();
for (int i=0; i<newEvents.size(); i++)
adapter.add(newEvents.get(i));
getListView().setSelection(events.size()-1);
This is fine, except that if the user is scrolling up to glance at the room's history, it's going to jump her down to the bottom when the poll happens. What I'd like to do is have it so that if the user is already at the bottom of the list, it stays there after a poll for new events. If the user's intentionally scrolled upwards, I'd like the user not to be disturbed.
How do I detect when I'm already scrolled to the bottom of a ListView?
Note: I can't do getListView().getSelectedItemPosition(), because as the docs note, calling setSelection when in touch mode does not actually select the item, just scrolls to it.
View 1 Replies
View Related
Jul 22, 2010
I am aware of setSelection(), setSelectionFromTop(), and setSelectionAfterHeaderView(), but none of them seems to do what I want.
Given an item in the list, I want to scroll so that it is in view. If the item is above the visible window of the list, I want to scroll until the item is the first visible item in the list; if the item is below the visible window, I want it to scroll up until it is the last visible item in the list. If the item is already visible, I don't want any scrolling to occur. How do I go about this?
View 1 Replies
View Related
May 15, 2009
I am developing a ToDo reminder type of app for android. on creation of a new reminder an alarm and vibrator scheduler is created with a toast. This works on intents and broadcasts and is pretty straight forward stuff with putextras using the reminder id from the db. My problem is, if some one restart the phone, i guess all the scheduled alarm and vibrator tasks for the reminder will be killed. Once the phone restart again how to recreate the scheduler tasks.
View 2 Replies
View Related
Apr 20, 2010
I have noticed that when aps restart my phone, it takes about 15 to 20 seconds to restart When i Power down, it takes MINUTES!Does anyone know of simple restart app I could use to avoid this? If not, anyone know someone who could make one?
View 3 Replies
View Related
Sep 29, 2010
On my htc i was looking through display, i see g sensor calibration and i perform this calibration and after i do so the screen seems to have a delay when switch from the horizontal position to the vertical position. its weird because when i switch to the phone horizontally it switch normally and responds fast. but when i switch back to vertically it takes almost 7 seconds to actually switch back, sometimes it switch within 2 or 3 secs but never as quick as switching horizontally.
MQuote:
Originally Posted by Rigmaster
Make sure you have the latest updates, which impact speed on the device in some unpredictable and unexpected ways. During system updates, your Evo may reboot and will take the g-sensor changes as last calibrated.
If you're already updated, shut down and repower (soft reboot) should do the trick. I actually updated my phone and after it started to do this. I restarted the phone plenty of times i even took the battery out for 30 seconds. It only does it when im texting on the browser, basically everything but the camera. He camera screen rotation is perfect. I even rooted the phone but i havent figured out how to use the root to fix the problem. Should i do a firmware update? Because i just did the htc software update.
View 1 Replies
View Related
Mar 21, 2010
could anyone point me to some examples on how to achieve Tableview with section and Index on Section. Similar to one it's in iPhone => http://www.iphonesdkarticles.com/2009/01/uitableview-indexed-table-view.html
View 3 Replies
View Related
Oct 7, 2010
Other than using listeners, is there any way by which i can get index of an item in the list?
View 2 Replies
View Related
Jun 4, 2010
I need to get item's index(position) knowing its ID while using ExpandableListView. Is there any way to do this without making complete hash id->index and searching it?
View 1 Replies
View Related
Jul 26, 2010
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:id="@+id/llAddNote"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginRight="8dip"
android:background="#CCFFCC">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="24dip"
android:text="Add Notes"/>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="24dip"
android:layout_marginRight="24dip"
android:id="@+id/tlNotes"
android:stretchColumns="0">
</TableLayout>
<Button
android:id="@+id/bAddNoteLine"
android:layout_marginLeft="24dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ADD">
</Button>
<LinearLayout
android:id="@+id/llIndex"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="21dip"
android:gravity="center">
<Button
android:id="@+id/bSaveSubjectiveNote"
android:layout_width="192dip"
android:layout_height="wrap_content"
android:text="Save"/>
<Button
android:id="@+id/bDiscardSubjectiveNote"
android:layout_width="192dip"
android:layout_height="wrap_content"
android:layout_marginLeft="48dip"
android:background="@drawable/button"
android:text="Discard"/></LinearLayout>
</LinearLayout>
How to retrieve the index of linearLayout which has "llIndex" as id.
View 1 Replies
View Related
Jan 4, 2010
I have an Android ListView created with a SimpleAdapter that has more items in it than fit in the screen. After the list has been scrolled, I need to get the position in the data model of the first visible item in the list.Basically I want a function like: listView.getChildAt(0).getPositionInDataModel().Adapter has a few functions in it, like getItemId(position) that looked useful; however, the SimpleAdapter implementation just returns the passed in position, not a row id like I'd hoped.A brute force solution would be to get the View at index 0, and compare it to the view for each item in the adapter.However, there doesn't seem to be an easy way to get the view for a particular position from the adapter.
View 3 Replies
View Related
Mar 26, 2010
I want to obtain the index of the selected item in a spinner.
I am aware of the method getSelectedItem() which returns the item selected (which might be a String). But i want the index of the selected item.
Something equivalent to the setSelection(index) to set the selected item.
Of course I can get the selected item and compare it against the array of items to obtain the index, but I hope there is a better way of doing this.
View 2 Replies
View Related
Jan 28, 2010
I added android:fastScrollEnabled="true" to the xml description of my listview class. I was (probably mistakenly) expecting this to magically transform the scrolling of my really huge listview so that the thumb button and the indexes display on the right side.
Is there more to hooking up the listview so that the framework knows what its alphabetizing? I have custom defined cells.
View 3 Replies
View Related