Android :: List View With A Custom Adapter / Items Can't Be Selected
Jun 2, 2009
I developed a List View with a custom adapter (which extends Array Adapter). The problem is that i can't selected or highlighted items. Is there a attribute to fix in the list View Layout or something else?
View 22 Replies
Mar 25, 2010
I have a ListView with a custom Adapter that extends ArrayAdapter. It's ArrayAdapter of Type Artist. (There are about 1200 artists in my list). Artist is a very small class that has a name and an id. The Artist Class has toString() overridden to return just the name. I have an EditText. The EditText has an TextChangeListener where I call .getFilter().filter(chars, callback) on my adapter. In the Filter.Filterlistener().onComplete() callback i print the count and it looks really good. As i type the count decreases. So it seams everything works as advertised, but the List stays the same. I tried to call artistAdapter.notifyDataSetChanged() to force the list to redraw, but nothing happens. [see 2.)]. I am tinkering around for days now! I am desperate. Hopefully someone can have a look on my code and tell me what I am doing wrong! How can I force the list to be redrawn?
Here is what I have done:
1.) Defined a ListView and an EditText like this:
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_search_text"
android:layout_width="fill_parent"
android:layout_height="35dip"
android:layout_below="@id/header">
</EditText>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_search"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</ListView>
2.) Setup my ListView in the Activities onCreate():
private ListView listView = null;
private ArtistAdapter artistAdapter = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_artists);
artistAdapter = new ArtistAdapter(this, R.layout.row, list); // 'list' is an ArrayList<Artist>
listView = (ListView) findViewById(R.id.list_search);
listView.setAdapter(artistAdapter);
listView.setFastScrollEnabled(true);
listView.setTextFilterEnabled(true);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> av, View v, int position, long id) {
// do something } });
EditText txtSearch = (EditText) findViewById(R.id.list_search_text); txtSearch.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable arg0) { }
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { }
public void onTextChanged(CharSequence chars, int start, int before, int count) {
artistAdapter.getFilter().filter(chars, new Filter.FilterListener() {
public void onFilterComplete(int count) {
Log.d(Config.LOG_TAG, "filter complete! count: " + count);
artistAdapter.notifyDataSetChanged();
}});
}});
}
3.) This is my ArtistAdapter in short. I added an remove() and add() method:
public class ArtistAdapter extends ArrayAdapter<Artist> implements SectionIndexer {
private List<Artist> items;
/* other stuff like overridden getView, getPositionForSection,
getSectionForPosition and so on */
@Override
public void remove(Artist object) {
super.remove(object);
items.remove(object);
}
@Override
public void add(Artist object) {
super.add(object);
items.add(object);
} }
4.) My artist has also the toString() overridden:
public class Artist implements Comparable<Artist> {
public String uid;
public String name;
public Artist(String id, String name) {
this.uid = id;
this.name = name; }
public int compareTo(Artist another) {
return this.name.compareToIgnoreCase(another.name);
}
@Override
public String toString() {
return this.name;
} }
View 5 Replies
View Related
Sep 2, 2010
I'm just beginning Android development, and I'm working to get a Custom list view with a checkbox working. I've created a base class that extends Activity, Created an Adapter and overrode the getView() method to add the checkbox to the list view. I'm assuming I need to do this because I need something equivalent to didSelectRowIndexAtPath from Obj C to update my model. Please let me know if there's an alternate way of doing this too Code...
View 2 Replies
View Related
Aug 28, 2009
How i get the Selected item from the list Adapter.In this above code if i selected March from the Dropdown Adapter means then how can i retrieve the Manth March to show in a textview.
View 5 Replies
View Related
Oct 13, 2010
Android has ListView component which is quite nice. The problem is that I created my own adapter to supply viewitems for each item displayed and I don't get anymore: Background color change when i scroll the items using up/down arrows. Background color change when I select an item. How do I do that?
View 1 Replies
View Related
Sep 29, 2009
I am trying to change the items in a list view based on a value that gets selected in a spinner that is in the same activity. Is there a quick way to do filtering on the list adapter data based on that value, or should I go the long way of changing my adapter implementation for easy filtering?
View 2 Replies
View Related
Nov 3, 2010
I am on Android 2.1 and I have one multi column Custom listview Using BaseAdapter with an editable edittext at the end of the listview. If the data in the listview do not contain the data of user choice then user should be able to enter data. If the data is already there in the list user will be able to select the data using custom selector. If a selection is made in the list view and user wanted to enter data in the text field at the bottom after selection then the marker in the list view should be unselected. I tried to use onclick() method on edit text using click listener. First time when it is clicked, edit text is getting focus and onclick() method is not fired. And when it is clicked second time, onclick() method is fired and notifyDataSetChanged() method is called. I tried to call the notifyDataSetChanged() method from the Focus Listener, list view selection is gone in my first attempt and edit text is not receiving any data input from the keyboard (frozen).
View 1 Replies
View Related
Nov 16, 2010
How to use a layout as empty view for a listview when the adapter has zero elements?
setEmptyView is not working with this code :
CODE:..............
Layouts used :
CODE:...........
main.xml
CODE:...............
View 3 Replies
View Related
Sep 10, 2010
I have a custom list adapter contains a layout with controls in it. I was wondering how I can get each individual controls id? I am planning on changing the color of some textviews. code...
View 1 Replies
View Related
Oct 5, 2010
I have a ListView which is populated using a CursorAdapter. I'd also like to have some separators in my ListView. I have accomplished this with an ArrayAdapter, but I'm not sure how to accomplish this with a CursorAdapter. Are there any strategies for doing so? Or am I out of luck?
View 1 Replies
View Related
Jun 9, 2010
I have table with 3 columns which is binded to an XML document with three text views.
CODE:........
Depending on the value store in the third column, I have to decide whether i should display this row or not
How should, I go about with this.
This is what I have so far :
CODE:...............
View 2 Replies
View Related
Jul 12, 2010
I am calling one webservice.Result of webservice I am storing in an Array list. Result of webservice I want to display as list view. For ListView I am using SimpleAdapter. and SimpleAdapter is something like this:- SimpleAdapter adapter = new SimpleAdapter(this,hashmap, layout, from, to);
I am not able to put array list into hashmap. Is there anyway to do this?
View 2 Replies
View Related
Jan 31, 2009
I want to create custom View showing possibly several items. i think using Adapter interface would be good idea.
My question is: should i extend AdapterView? if so, what is the most imortant when doing this (e.g. AdapterView is ViewGroup, so how should i manage children)?
View 6 Replies
View Related
May 11, 2010
made a custom list adapter extending the Base adapter. Each item in the list has an imagebutton, 2 textviews and a button. I tried to add the context menu to the list so as to display some options for an item in the list. registerForContextMenu(getListView()); I used a MenuInflater object to inflate the context menu xml file. But on clicking the items in the list nothing shows up or the usual highlighting of the item of list on click isn't shown. Is it that the context menu doesn't work for custom list views? Any help would be much appreciated.
View 1 Replies
View Related
Apr 17, 2009
Im trying to change background color when an item is selected. Something like using a color selector, but actually it crashes. I've created a list_selector.xml inside /res/color/.<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_focused="true" android:color ="@ color/ plain_yellow"/><item android:state_pressed="true" android:state_enabled="false" android:color ="@color /plain _yellow" /><item android:state_enabled="false" android:color="@color/ plain_yellow" /><item android: state_active="true" android:color="@color/ plain_yellow" /><item android:color="@android: color/ transparent" /></selector> plain_yellow is a color i've defined in /res/values. I've tried to assign that selector programatically and using the xml, but the app crashes. Am i doing something wrong?
View 2 Replies
View Related
Feb 5, 2009
Can any one please tell me how to add multiple items (images/text) in list view?
View 4 Replies
View Related
Oct 27, 2010
I want to disable few items in List View and i am using Simple Adapter to do that. I am not getting how to disable the items.
View 3 Replies
View Related
Sep 4, 2010
On the iPhone a user is able to re-arrange the actual rows in a list. Is this possible on Android? If so, any examples would be great.
View 2 Replies
View Related
Jul 6, 2010
I am trying to add ListView items one by one. So if I have say 60 items the application would add the views to the list view one at a time -- thus showing the user that the application is loading more things. This is my code:
try {
JSONArray j = getTaggsJSON();
Log.v(TAG, String.valueOf(j.length()));
a = new createSpecialAdapter(this, R.layout.individual_tagg_view,
R.layout.list_item, view, j);
ListView v = this.getListView();
v.setStackFromBottom(true);
setListAdapter(a);
new addViewsToList().execute(j);
} catch (UnknownHostException e) {.....
View 1 Replies
View Related
Dec 7, 2009
I have implemented a custom adapter the extends from the BaseAdapter and implements the getView method. It works fine except for one thing, not once do I get the convert View (a parameter to the getView method) that is not null (that can be reused).
View 2 Replies
View Related
Jul 23, 2009
Currently I am working on IM, and I am facing problem during implementations. I am implementing this messenger using XMPP client and using smack API for implementing all features like contacts list, online offline status, and chat also. Prblem which I am facing:
Its my list view where I am showing contacts list
public class ContactsList extends ListActivity implements OnClickListener{
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ContactsManager manager = new ContactsManager(this); setListAdapter(manager);
} public class ContactsManager extends BaseAdapter{
private LayoutInflater mInflater; private Bitmap mainListIcons[];
private static ContactsInfo contactsInfo; public ContactsManager(Context context) {
mInflater = LayoutInflater.from(context); mainListIcons= new Bitmap[3];
mainListIcons[0] = BitmapFactory.decodeResource (context.getResources(), R.drawable.online);
mainListIcons[1] = BitmapFactory.decodeResource (context.getResources(), R.drawable.offline);
} @Override public int getCount() { return Global.contacts.size();//
contacts is vector where I am saving my contacts
} public Object getItem(int position) { return position;
} public long getItemId(int position) { return position;
} public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder; if (convertView == null) {
convertView = mInflater.inflate (R.layout.main_settings_lists_icon_text, null);
holder = new ViewHolder(); holder.mainListDisplayText = (TextView) convertView.findViewById(R.id.main_settings_lists_text);
holder.mainListDisplayIcon = (ImageView) convertView.findViewById(R.id.main_settings_lists_icon);
convertView.setTag(holder);}else{ holder = (ViewHolder) convertView.getTag();
} contactsInfo = (ContactsInfo)Global.contacts.elementAt (position);
String username = contactsInfo.getUsername(); String status = contactsInfo.getUserstatus();
if(status.equalsIgnoreCase("unavailable")) { older.mainListDisplayIcon.setImageBitmap(mainListIcons[1]);
}else{ holder.mainListDisplayIcon.setImageBitmap(mainListIcons[0]);
} holder.mainListDisplayText.setText(username); return convertView;
} static class ViewHolder { TextView mainListDisplayText;
ImageView mainListDisplayIcon;}
public class ContactsHandler implements RosterListener {
@Override public void entriesAdded(Collection<String> c) {
for(String s:c) { Log.i("ADDED Contacts",s);
} } @Override public void presenceChanged(Presence p) {
Log.i("PRESENCE",p.getFrom()); Log.i("IS Available",""+p.isAvailable());
Log.i("UserStatus",""+p.getStatus()); if(p.getFrom().contains("@") && p.isAvailable())
{ ChatManager chatmanager = Connection.getVopConnection getXMPPConnection().getChatManager();
Chat newChat = chatmanager.createChat("gulfam@imran-mehmood", new ChatHandler());
} } }
View 2 Replies
View Related
Aug 26, 2010
I have a list which shows data from a database using a cursor adapter. Using Menu option I am updating my database (inserting more rows deleting existing rows). When Menu operation completes, I want contents of list should show updated contents.
I have tried using cursor.requery(); (or explicitly querying cursor again) and using adapter.notifydatasetchanged(), but with this list of contents are not updated.
How can I refresh the contents of the list.
View 2 Replies
View Related
Aug 31, 2010
I need to make a list view as shown in the sample pic for my android app. How to do it? Also I need to add image along it as seen in the sample pic. and link it to another view to show some more details.please check links shown below.
View 2 Replies
View Related
Oct 13, 2010
I've got a schedule Class, which is simply a custom ViewGroup (with custom onMeasure() and onLayout()), which enables me to place childs(=events) with LayoutParams for column/row start and column/row end. The number of childs and their LayoutParams depend on database entries.
Now I'm trying to add childs (events) from my database. I'd have to use a Cursor Adapter, so my schedule Class has to extend ListView, right? I tried that but the newView() method of the adapter is never called. Why not? My custom ListView doesn't ask the adapter for childs, no childs are added. I also can't add the childs by hand calling schedule.addView() if I extend from AdapterView.
How can I add events to the schedule with the data from the cursor?
View 1 Replies
View Related
Nov 3, 2010
I thought I knew how to catch list selection events in Android and then I regained consciousness. In my situation, I have a ListView that I populate with a custom view, all of the same class (let's call it the NewsChannel() class). NewsChannel consists of a LinearLayout of ImageViews and TextViews. When the list is displayed, the user may select a NewsChannel item in the list; I want to find out which list item was selected. Also, I registered an onClickListener to one of the TextViews and that works fine: when the text is clicked on, an activity is launched which is looking for the position of the NewsChannel item in the list. So, here's what my code looks like:
1. Registering the onClickListener in the ListActivity:
public class NewsListActivity extends ListActivity {...
public void onCreate(Bundle icicle) { super.onCreate(icicle);
setContentView(R.layout.news_list_format); ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener()
{ public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text item_index = position;
Toast.makeText(getApplicationContext(), "item clicked = " + position,
Toast.LENGTH_SHORT).show(); }}); ...
2. The layout for the ListView associated with NewsListActivity:
<?xml version="1.0" encoding="UTF-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/ android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="@drawable/wpaper_tile" >
<ListView android:id="@id/android:list" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_alignParentTop="true"
android:dividerHeight="15dp" android:divider="@android:color/transparent"
android:cacheColorHint="@android:color/transparent" android:scrollbars="none" />
<FrameLayout android:layout_width="fill_parent" android:layout_height="55dp"
android:layout_centerHorizontal="true" android:layout_alignParentBottom="true"
android:background="#88000000"/>
<ImageView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true" android:src="@drawable/phonetop_bg" /> </RelativeLayout>
3. The NewsChannel layout:
<?xml version="1.0" encoding="UTF-8"?> <RelativeLayout xmlns:
android="http://schemas.android.com/apk/res/ android"
android:layout_width="fill_parent" android:layout_height="wrap_content">
<include layout="@layout/news_heading_format"
android:id="@+id/news_heading_header"/>
<ImageView android:id="@+id/news_channel_image" android:layout_width="88dp"
android:layout_height="66dp" android:layout_alignParentLeft="true"
android:layout_below="@id/news_heading_header" android:padding="10dp" />
<TextView android:id="@+id/news_channel_text" android:lines="4"
android:inputType="textMultiLine" android:layout_toRightOf="@id/news_channel_image"
android:layout_below="@id/news_heading_header" android:layout_width="fill_parent"
android:layout_height="wrap_content"/> </RelativeLayout>
When I run the app, the ItemClickListener is never called. However, if NewsChannel were of a simpler type, say, a single ImageView or TextView embedded in the layout, the callback does get called. Any idea what I'm doing wrong? My whole goal is simply to let the activity launched by NewsChannel (not shown) to find out which instance of NewsChannel it was launched from.
View 10 Replies
View Related
Aug 28, 2009
Is it possible to add custom menu items in the native Contact list ?
I mean when the user selects a user from his contact list, is it possible to add a custom action there ? ( for those who are familiar with Blackberry development, something similar to the MenuItem class )
View 2 Replies
View Related
Oct 14, 2010
I have a listview which populates the data using CheckedTextView.
Here is the xml
CODE:..............
On item click listener, show tick on the right of the item, but not only that item shows tick other multiple items also show tick. Wierd thing is all are ticks after same number of row. I dont know where I am doing wrong.
Here is the code
package com.chegg.android.account;
CODE:.....................
View 1 Replies
View Related
Mar 18, 2009
I have table with 3 columns which is binded to an XML document with three text views.
CODE:........
Depending on the value store in the third column, I want to change the text color in R.id.c. How should, I go about with this.
This is what I have so far :
COD:...............
View 3 Replies
View Related
Aug 19, 2010
I have used RelativeLayout for a custom implementation of a ListAdapter and I am not sure if I can continue using this or if I need to use TableLayout. In the first example I have the text positioned as I would like by using one image view and one text view containing the book name and the author name. However, I want to style the author text differently so I think I will need two text views. In the second example I have added another text view but it floats to the right. Second eg is Clipboard02.png. How can I make the second text view go under the first text (as in eg 1). I have done this in code rather than using XML layout.
http://carriehall.co.uk/Clipboard01.png
LinearLayout.LayoutParams skyParams = new LinearLayout.LayoutParams( 70, LayoutParams.WRAP_CONTENT );
ImageView skyControl = new ImageView( context );
skyControl.setImageResource( R.drawable.the_eyre_affair );
addView( skyControl, skyParams );
LinearLayout.LayoutParams bookParams = new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
bookParams.setMargins( 5, 10, 5, 10 );
TextView bookControl = new TextView( context );
bookControl.setTextAppearance( context, R.style.SpecialText );
bookControl.setText( book.getTitle( ) + "
" + book.getAuthor( )); addView( bookControl, bookParams );
View 1 Replies
View Related
Oct 28, 2010
I'm have a custom GridView Array Adapter. The problem for me is that when the grid list gets large enough to scroll off the screen the gridview and arraylist get out of sync. For instance in my case I have code that checks if an actor is of type director the text color should be red. if you scroll up and down my list enough times all the actors text in my gridview will become red. The thing is that the Gridview appearance actually looks fine its the backing data. Here is the complete class. In the code you can see where I tried to override getItem and getItemId but that didn't fix anything. Code...
View 6 Replies
View Related