What I'm trying to do is when I click on any item of the list that will change the color of text and the drawable this is my getview method
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
LayoutInflater mInflater = (LayoutInflater)
mContext.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.nav_drawer_item, null);
convertView.setFocusable(false);
final TextView mItemTitle = (TextView) convertView.findViewById(R.id.item_title_tv);
mItemTitle.setText(mNavDrawerItems.get(position).getmItemTitle());
final ImageView mTitleIcon = (ImageView) convertView.findViewById(R.id.item_icon_iv);
mTitleIcon.setImageDrawable(
mContext.getResources().getDrawable(mNavDrawerItems.get(position).getmItemIcon()));
if (position == 0)
{
convertView = mInflater.inflate(R.layout.nav_drawer_header, null);
}
else if (position == 1)
{
/*
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{
setColorAndDrawble(mItemTitle, mTitleIcon,
mContext.getResources().getColor(R.color.last_news_click_color),
mContext.getResources().getDrawable(R.drawable.ic_class_news_click));
}
});
*/
}
else if (position == 2)
{
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{
setColorAndDrawble(mItemTitle, mTitleIcon,
mContext.getResources().getColor(R.color.public_chat_click_color),
mContext.getResources().getDrawable(R.drawable.ic_public_chat_click));
}
});
}
else if (position == 3)
{
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{
setColorAndDrawble(mItemTitle, mTitleIcon,
mContext.getResources().getColor(R.color.messages_click_color),
mContext.getResources().getDrawable(R.drawable.ic_messages_click));
}
});
}
else if (position == 4)
{
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{
setColorAndDrawble(mItemTitle, mTitleIcon,
mContext.getResources().getColor(R.color.results_click_color),
mContext.getResources().getDrawable(R.drawable.ic_results_click));
}
});
}
return convertView;
}
private void setColorAndDrawble(TextView textView, ImageView imageView, int color, Drawable drawble)
{
imageView.setImageDrawable(drawble);
textView.setTextColor(color);
}
the problem is now the listener of listview doesn't work. Why?
mDrawerList.setOnItemClickListener(new SlideMenuClickListener());
private class SlideMenuClickListener implements
ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Log.e("SlideMenuClickListener", position + "");
TextView textView = (TextView) view.findViewById(R.id.item_title_tv);
textView.setTextColor(getResources().getColor(R.color.last_news_click_color));
Log.e("textView", textView.getText() + "");
// display view for selected nav drawer item
displayView(position);
}
}