These are my line of codings :
public class UserList extends ListActivity{
private Client client;
private ArrayList<User> users = new ArrayList<User>();
private UserAdapter userAdapter;
public static final int MENU_ITEM_VIEW = Menu.FIRST;
private static final int COLUMN_INDEX_TITLE = 1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.user_list);
Intent i = getIntent();
if (i!= null)
{
if (i.getAction().equalsIgnoreCase(Intent.ACTION_VIEW))
{
this.client = (Client) i.getSerializableExtra
(Constants.CLIENT_CLASS_NAME);
this.userAdapter = new UserAdapter(this,
R.layout.user_row, users);
users = (ArrayList<User>) this.client.getUsers();
for(int j=0;j<users.size();j++)
{
this.userAdapter.add(users.get(j));
}
setListAdapter(this.userAdapter);
}
}
}
private class UserAdapter extends ArrayAdapter<User>{
private LayoutInflater mInflater;
private ArrayList<User> items;
public UserAdapter(Context context, int resourceId,
ArrayList<User> items)
{
super(context, resourceId, items);
mInflater = LayoutInflater.from(context);
this.items = items;
}
public boolean areAllItemsSelectable()
{
return true;
}
public boolean isEnabled(int position) {
if (position >= 0 && position <= items.size()) {
return true;
}
return false;
}
public int getCount() {
return items.size();
}
public User getItem(int position) {
if (0 == position) {
return null;
}
return items.get(position);
}
@Override
public View getView(int position, View convertView, ViewGroup
parent) {
ViewHolder holder = null;
View v = convertView;
User user = items.get(position);
if (v == null) {
mInflater = (LayoutInflater)getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
v = mInflater.inflate(R.layout.user_row, null);
if (user != null) {
// Creates a ViewHolder and store references to the
two children views
// we want to bind data to.
holder = new ViewHolder();
holder.firstNameText = (TextView) v.findViewById
(R.id.user_first_name);
holder.lastNameText = (TextView) v.findViewById
(R.id.user_last_name);
holder.phoneNumberText = (TextView) v.findViewById
(R.id.user_phone_number);
holder.statusText = (TextView) v.findViewById
(R.id.user_status);
}
v.setTag(holder);
}
else
{
holder = (ViewHolder) v.getTag();
}
if (holder.firstNameText != null) {
holder.firstNameText.setText(user.getFirstName());
}
if (holder.lastNameText != null){
holder.lastNameText.setText(user.getLastName());
}
if ( holder.phoneNumberText != null){
holder.phoneNumberText.setText(user.getPhoneNumber());
}
if (holder.statusText != null){
holder.statusText.setText(String.valueOf(user.getStatus
()));
}
return v;
}
private class ViewHolder {
TextView firstNameText;
TextView lastNameText;
TextView phoneNumberText;
TextView statusText;
}
public long getItemId(int position) {
return position;
}
}
@Override
public void onCreateContextMenu(ContextMenu menu, View view,
ContextMenuInfo menuInfo) {
AdapterView.AdapterContextMenuInfo info;
try {
info = (AdapterView.AdapterContextMenuInfo) menuInfo;
} catch (ClassCastException e) {
Log.e(getClass().getSimpleName(), "bad menuInfo", e);
return;
}
Cursor cursor = (Cursor) getListAdapter().getItem
(info.position);
if (cursor == null) {
return;
}
menu.setHeaderTitle(cursor.getString(COLUMN_INDEX_TITLE));
menu.add(0, MENU_ITEM_VIEW, 0,
R.string.localization_user_view);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info;
try {
info = (AdapterView.AdapterContextMenuInfo)
item.getMenuInfo();
} catch (ClassCastException e) {
Log.e(getClass().getSimpleName(), "bad menuInfo", e);
return false;
}
switch (item.getItemId()) {
case MENU_ITEM_VIEW: {
}
}
return false;
}
@Override
protected void onListItemClick(ListView l, View v, int position,
long id) {
Uri uri = ContentUris.withAppendedId(getIntent().getData(),
id);
String action = getIntent().getAction();
if (Intent.ACTION_PICK.equals(action) ||
Intent.ACTION_GET_CONTENT.equals(action)) {
setResult(RESULT_OK, new Intent().setData(uri));
} else {
startActivity(new Intent(Intent.ACTION_EDIT, uri));
}
}
}
Thanks
Tom
On 2 juin, 15:51, guna <[email protected]> wrote:
> Its good if you posted your line of codings?
> listview.setOnItemClickListener()
>
> Guna
>
> On Tue, Jun 2, 2009 at 7:17 PM, Tom <[email protected]> wrote:
>
> > Which listener do you think?
>
> > In fact , when I scroll in the ListView with the mouse, I can see
> > items highlighted.
> > But when I click on the item, nothing happens (item's color doesn't
> > change).
>
> > On 2 juin, 15:31, guna <[email protected]> wrote:
> > > Do you set the listener first???
>
> > > On Tue, Jun 2, 2009 at 6:58 PM, Tom <[email protected]> wrote:
>
> > > > I added areAllItemsSelectable and isSelectable methods but it still
> > > > doesn't work.
> > > > Do you have an other idea?
>
> > > > Best regards
> > > > Tom
>
> > > > On 2 juin, 13:24, Guru <[email protected]> wrote:
> > > > > Probably u have returned false in areAllItemsEnabled in the adapter
>
> > > > > or
> > > > > returning false in isEnabled(position)
>
> > > > > On Tue, Jun 2, 2009 at 4:36 PM, Tom <[email protected]> wrote:
>
> > > > > > Hi,
>
> > > > > > I developped a ListView with a custom adapter (which extends
> > > > > > ArrayAdapter).
> > > > > > The problem is that i can't selected or highlighted items.
> > > > > > Is there a attribut to fix in the listView Layout or something
> > else?
>
> > > > > > Best regards,
> > > > > > Tom
>
> > > > > --
> > > > > Thanks and Regards
> > > > > Gurudutt P.S.
>
> > > --
> > > Guna
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---