Android 如何获取listview中按钮的位置?
我有一个列表视图与Textview,ImageView和按钮,我想改变的是,当它点击按钮的背景,我希望你了解我的问题 这是适配器Android 如何获取listview中按钮的位置?,android,listview,button,Android,Listview,Button,我有一个列表视图与Textview,ImageView和按钮,我想改变的是,当它点击按钮的背景,我希望你了解我的问题 这是适配器 package com.example.mahdi.chat; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.os.AsyncTa
package com.example.mahdi.chat;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.support.v4.app.Fragment;
import android.text.Html;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.text.method.LinkMovementMethod;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.VolleyLog;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.NetworkImageView;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Text;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import circleview.CircleImageView;
public class FeedListAdapter extends BaseAdapter {
private static final String TAG = FeedListAdapter.class.getSimpleName();
private Activity activity;
private LayoutInflater inflater;
private List<FeedItem> feedItems;
JSONParser jsonParser = new JSONParser();
private String URL = "http://10.0.3.2/social/like.php";
private String user_id;
private Button like,comment;
private static final String TAG_SUCCESS = "success";
FeedItem item;
ImageLoader imageLoader = AppController.getInstance().getImageLoader();
public FeedListAdapter(Activity activity, List<FeedItem> feedItems, String user_id) {
this.activity = activity;
this.feedItems = feedItems;
this.user_id = user_id;
}
@Override
public int getCount() {
return feedItems.size();
}
@Override
public Object getItem(int location) {
return feedItems.get(location);
}
@Override
public long getItemId(int position) {
return position;
}
public void refresh(List<FeedItem> newlist) {
feedItems.addAll(newlist);
this.notifyDataSetChanged();
}
public List<FeedItem> getData() {
return feedItems;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (inflater == null)
inflater = (LayoutInflater)parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.posts_row, null);
if (imageLoader == null)
imageLoader = AppController.getInstance().getImageLoader();
final TextView name = (TextView) convertView.findViewById(R.id.name);
TextView timestamp = (TextView) convertView
.findViewById(R.id.time);
TextView statusMsg = (TextView) convertView
.findViewById(R.id.status);
TextView url = (TextView) convertView.findViewById(R.id.url);
CircleImageView profilePic = (CircleImageView) convertView
.findViewById(R.id.profile_img);
FeedImageView feedImageView = (FeedImageView) convertView
.findViewById(R.id.image);
TextView nbr_likes = (TextView)convertView.findViewById(R.id.nbr_likes);
TextView nbr_comments = (TextView)convertView.findViewById(R.id.nbr_comments);
item = feedItems.get(position);
like =(Button)convertView.findViewById(R.id.like);
comment =(Button)convertView.findViewById(R.id.comment);
like.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
item = feedItems.get(position);
Map<String, String> params = new HashMap<String, String>();
params.put("post_id", item.getId());
params.put("user_id", user_id);
Toast.makeText(activity, item.getId(), Toast.LENGTH_SHORT).show();
Toast.makeText(activity, user_id, Toast.LENGTH_SHORT).show();
// making fresh volley request and getting json
CustomRequest jsonReq = new CustomRequest(Request.Method.POST,
URL,params , new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
VolleyLog.d(TAG, "Response: " + response.toString());
if (response != null) {
parseJsonFeed(response);
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
}
});
// Adding request to volley request queue
AppController.getInstance().addToRequestQueue(jsonReq);
}
});
comment.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
}
});
name.setText(item.getName());
nbr_likes.setText(item.getNbrLikes()+ " Likes");
nbr_comments.setText(item.getNbrComments() + " Comments");
// Converting timestamp into x ago format
CharSequence timeAgo = DateUtils.getRelativeTimeSpanString(
Long.parseLong(item.getTimeStamp()),
System.currentTimeMillis(), DateUtils.SECOND_IN_MILLIS);
timestamp.setText(timeAgo);
// Chcek for empty status message
if (!TextUtils.isEmpty(item.getStatus())) {
statusMsg.setText(item.getStatus());
statusMsg.setVisibility(View.VISIBLE);
} else {
// status is empty, remove from view
statusMsg.setVisibility(View.GONE);
}
// Checking for null feed url
if (item.getUrl() != null) {
url.setText(Html.fromHtml("<a href=\"" + item.getUrl() + "\">"
+ item.getUrl() + "</a> "));
// Making url clickable
url.setMovementMethod(LinkMovementMethod.getInstance());
url.setVisibility(View.VISIBLE);
} else {
// url is null, remove from the view
url.setVisibility(View.GONE);
}
// user profile pic
profilePic.setImageUrl(item.getProfilePic(), imageLoader);
// Feed image
if (item.getImge() != null) {
feedImageView.setImageUrl(item.getImge(), imageLoader);
feedImageView.setVisibility(View.VISIBLE);
feedImageView
.setResponseObserver(new FeedImageView.ResponseObserver() {
@Override
public void onError() {
}
@Override
public void onSuccess() {
}
});
} else {
feedImageView.setVisibility(View.GONE);
}
return convertView;
}
private void parseJsonFeed(JSONObject response) {
int success;
try {
success = response.getInt(TAG_SUCCESS);
if (success == 1) {
notifyDataSetChanged();
} else {
Toast.makeText(activity, "erreur", Toast.LENGTH_SHORT).show();
}
//listAdapter.addAll(feedItems);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
问题是按钮,我想改变按钮点击时的可绘制性。谢谢
编辑:
package com.example.mahdi.chat;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.AsyncTask;
import android.support.v4.app.Fragment;
import android.text.Html;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.text.method.LinkMovementMethod;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.VolleyLog;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.NetworkImageView;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Text;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import circleview.CircleImageView;
public class FeedListAdapter extends BaseAdapter {
private static final String TAG = FeedListAdapter.class.getSimpleName();
private Activity activity;
private LayoutInflater inflater;
private List<FeedItem> feedItems;
JSONParser jsonParser = new JSONParser();
private String URL = "http://10.0.3.2/social/like.php";
private String user_id;
private Button like,comment;
private static final String TAG_SUCCESS = "success";
FeedItem item;
ImageLoader imageLoader = AppController.getInstance().getImageLoader();
public FeedListAdapter(Activity activity, List<FeedItem> feedItems, String user_id) {
this.activity = activity;
this.feedItems = feedItems;
this.user_id = user_id;
}
@Override
public int getCount() {
return feedItems.size();
}
@Override
public Object getItem(int location) {
return feedItems.get(location);
}
@Override
public long getItemId(int position) {
return position;
}
public void refresh(List<FeedItem> newlist) {
feedItems.addAll(newlist);
this.notifyDataSetChanged();
}
public List<FeedItem> getData() {
return feedItems;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (inflater == null)
inflater = (LayoutInflater)parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.posts_row, null);
if (imageLoader == null)
imageLoader = AppController.getInstance().getImageLoader();
final TextView name = (TextView) convertView.findViewById(R.id.name);
TextView timestamp = (TextView) convertView
.findViewById(R.id.time);
TextView statusMsg = (TextView) convertView
.findViewById(R.id.status);
TextView url = (TextView) convertView.findViewById(R.id.url);
CircleImageView profilePic = (CircleImageView) convertView
.findViewById(R.id.profile_img);
FeedImageView feedImageView = (FeedImageView) convertView
.findViewById(R.id.image);
TextView nbr_likes = (TextView)convertView.findViewById(R.id.nbr_likes);
TextView nbr_comments = (TextView)convertView.findViewById(R.id.nbr_comments);
item = feedItems.get(position);
like =(Button)convertView.findViewById(R.id.like);
comment =(Button)convertView.findViewById(R.id.comment);
like.setTag(position);
like.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
int position = (Integer) v.getTag();
like.setBackgroundColor(Color.BLACK);
item = feedItems.get(position);
Map<String, String> params = new HashMap<String, String>();
params.put("post_id", item.getId());
params.put("user_id", user_id);
Toast.makeText(activity, item.getId(), Toast.LENGTH_SHORT).show();
Toast.makeText(activity, user_id, Toast.LENGTH_SHORT).show();
// making fresh volley request and getting json
CustomRequest jsonReq = new CustomRequest(Request.Method.POST,
URL,params , new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
VolleyLog.d(TAG, "Response: " + response.toString());
if (response != null) {
parseJsonFeed(response);
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
}
});
// Adding request to volley request queue
AppController.getInstance().addToRequestQueue(jsonReq);
}
});
comment.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
item = feedItems.get(position);
Intent i = new Intent(activity, Comment.class);
i.putExtra("user_id",item.getId());
i.putExtra("name",item.getName());
i.putExtra("image",item.getImge());
i.putExtra("status",item.getStatus());
i.putExtra("profile_img",item.getProfilePic());
i.putExtra("time",item.getTimeStamp());
i.putExtra("url",item.getUrl());
i.putExtra("nbr_likes",item.getNbrLikes());
i.putExtra("nbr_comments",item.getNbrComments());
activity.startActivity(i);
}
});
name.setText(item.getName());
nbr_likes.setText(item.getNbrLikes()+ " Likes");
nbr_comments.setText(item.getNbrComments() + " Comments");
// Converting timestamp into x ago format
CharSequence timeAgo = DateUtils.getRelativeTimeSpanString(
Long.parseLong(item.getTimeStamp()),
System.currentTimeMillis(), DateUtils.SECOND_IN_MILLIS);
timestamp.setText(timeAgo);
// Chcek for empty status message
if (!TextUtils.isEmpty(item.getStatus())) {
statusMsg.setText(item.getStatus());
statusMsg.setVisibility(View.VISIBLE);
} else {
// status is empty, remove from view
statusMsg.setVisibility(View.GONE);
}
// Checking for null feed url
if (item.getUrl() != null) {
url.setText(Html.fromHtml("<a href=\"" + item.getUrl() + "\">"
+ item.getUrl() + "</a> "));
// Making url clickable
url.setMovementMethod(LinkMovementMethod.getInstance());
url.setVisibility(View.VISIBLE);
} else {
// url is null, remove from the view
url.setVisibility(View.GONE);
}
// user profile pic
profilePic.setImageUrl(item.getProfilePic(), imageLoader);
// Feed image
if (item.getImge() != null) {
feedImageView.setImageUrl(item.getImge(), imageLoader);
feedImageView.setVisibility(View.VISIBLE);
feedImageView
.setResponseObserver(new FeedImageView.ResponseObserver() {
@Override
public void onError() {
}
@Override
public void onSuccess() {
}
});
} else {
feedImageView.setVisibility(View.GONE);
}
return convertView;
}
private void parseJsonFeed(JSONObject response) {
int success;
try {
success = response.getInt(TAG_SUCCESS);
if (success == 1) {
notifyDataSetChanged();
} else {
Toast.makeText(activity, "erreur", Toast.LENGTH_SHORT).show();
}
//listAdapter.addAll(feedItems);
} catch (JSONException e) {
e.printStackTrace();
}
}
package com.example.mahdi.chat;
导入android.app.Activity;
导入android.app.ProgressDialog;
导入android.content.Context;
导入android.content.Intent;
导入android.graphics.Color;
导入android.os.AsyncTask;
导入android.support.v4.app.Fragment;
导入android.text.Html;
导入android.text.TextUtils;
导入android.text.format.DateUtils;
导入android.text.method.LinkMovementMethod;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.BaseAdapter;
导入android.widget.Button;
导入android.widget.TextView;
导入android.widget.Toast;
导入com.android.volley.Request;
导入com.android.volley.Response;
导入com.android.volley.VolleyError;
导入com.android.volley.VolleyLog;
导入com.android.volley.toolbox.ImageLoader;
导入com.android.volley.toolbox.NetworkImageView;
导入org.apache.http.NameValuePair;
导入org.apache.http.message.BasicNameValuePair;
导入org.json.JSONException;
导入org.json.JSONObject;
导入org.w3c.dom.Text;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入java.util.Map;
导入circleview.CircleImageView;
公共类FeedListAdapter扩展了BaseAdapter{
私有静态最终字符串标记=FeedListAdapter.class.getSimpleName();
私人活动;
私人充气机;
私人物品清单;
JSONParser JSONParser=新的JSONParser();
专用字符串URL=”http://10.0.3.2/social/like.php";
私有字符串用户标识;
私人按钮式,评论式;
私有静态最终字符串标记_SUCCESS=“SUCCESS”;
饲料项目;
ImageLoader ImageLoader=AppController.getInstance().getImageLoader();
公共FeedListAdapter(活动、列表feedItems、字符串用户id){
这个。活动=活动;
此项。feedItems=feedItems;
this.user\u id=user\u id;
}
@凌驾
public int getCount(){
返回feedItems.size();
}
@凌驾
公共对象getItem(int位置){
返回feedItems.get(位置);
}
@凌驾
公共长getItemId(int位置){
返回位置;
}
公共无效刷新(列表新建列表){
feedItems.addAll(新列表);
this.notifyDataSetChanged();
}
公共列表getData(){
返回饲料项目;
}
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
如果(充气器==null)
充气器=(LayoutFlater)父.getContext().getSystemService(Context.LAYOUT\u充气器\u服务);
if(convertView==null)
convertView=充气机。充气(R.layout.posts\u行,空);
如果(imageLoader==null)
imageLoader=AppController.getInstance().getImageLoader();
final TextView name=(TextView)convertView.findViewById(R.id.name);
TextView时间戳=(TextView)convertView
.findviewbyd(R.id.time);
TextView statusMsg=(TextView)convertView
.findViewById(R.id.status);
TextView url=(TextView)convertView.findViewById(R.id.url);
CircleImageView配置文件PIC=(CircleImageView)convertView
.findviewbyd(R.id.profile\u img);
FeedImageView FeedImageView=(FeedImageView)convertView
.findviewbyd(R.id.image);
TextView nbr_likes=(TextView)convertView.findViewById(R.id.nbr_likes);
TextView nbr_comments=(TextView)convertView.findViewById(R.id.nbr_comments);
项目=饲料项目。获取(位置);
like=(按钮)convertView.findViewById(R.id.like);
comment=(按钮)convertView.findViewById(R.id.comment);
like.setTag(位置);
like.setOnClickListener(新视图.OnClickListener()
{
@凌驾
公共void onClick(视图v){
int position=(整数)v.getTag();
喜欢.setBackgroundColor(颜色.黑色);
项目=饲料项目。获取(位置);
Map params=新的HashMap();
参数put(“post_id”,item.getId());
参数put(“用户id”,用户id);
Toast.makeText(活动,item.getId(),Toast.LENGTH_SHORT.show();
Toast.makeText(活动、用户id、Toast.LENGTH.SHORT).show();
//发出新的截击请求并获取json
CustomRequest jsonReq=新的CustomRequest(Request.Method.POST,
URL,参数,新响应。侦听器(){
@凌驾
公共void onResponse(JSONObject响应){
d(标记“Response:+Response.toString());
if(响应!=null){
parseJsonFeed(响应);
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
d(标记“Error:+Error.getMessage());
}
});
//将请求添加到截击请求队列
AppController.getInstance().addToRequestQueue(jsonReq);
}
});
comment.setOnClickListener(新视图.OnClickListener()
{
@凌驾
公共void onClick(视图v){
项目=饲料项目。获取(位置);
意图i=新意图(活动、注释、类);
i、 putExtra(“user_id”,item.getId());
i、 putExtra(“name”,item.getName());
i、 putExtra(“image”,item.getImge());
i、 putExtra(“状态”,item.getStatus());
i、 putExtra(“profile_img”,item.getProfilePic());
i、 putExtrap(“时间”,item.getTimeStamp());
i、 putExtra(“url”,item.getUrl());
i、 putExtra(“nbr_likes”,item.getNbrLikes());
i、 丁腈橡胶_
package com.example.mahdi.chat;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.AsyncTask;
import android.support.v4.app.Fragment;
import android.text.Html;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.text.method.LinkMovementMethod;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.VolleyLog;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.NetworkImageView;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Text;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import circleview.CircleImageView;
public class FeedListAdapter extends BaseAdapter {
private static final String TAG = FeedListAdapter.class.getSimpleName();
private Activity activity;
private LayoutInflater inflater;
private List<FeedItem> feedItems;
JSONParser jsonParser = new JSONParser();
private String URL = "http://10.0.3.2/social/like.php";
private String user_id;
private Button like,comment;
private static final String TAG_SUCCESS = "success";
FeedItem item;
ImageLoader imageLoader = AppController.getInstance().getImageLoader();
public FeedListAdapter(Activity activity, List<FeedItem> feedItems, String user_id) {
this.activity = activity;
this.feedItems = feedItems;
this.user_id = user_id;
}
@Override
public int getCount() {
return feedItems.size();
}
@Override
public Object getItem(int location) {
return feedItems.get(location);
}
@Override
public long getItemId(int position) {
return position;
}
public void refresh(List<FeedItem> newlist) {
feedItems.addAll(newlist);
this.notifyDataSetChanged();
}
public List<FeedItem> getData() {
return feedItems;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (inflater == null)
inflater = (LayoutInflater)parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.posts_row, null);
if (imageLoader == null)
imageLoader = AppController.getInstance().getImageLoader();
final TextView name = (TextView) convertView.findViewById(R.id.name);
TextView timestamp = (TextView) convertView
.findViewById(R.id.time);
TextView statusMsg = (TextView) convertView
.findViewById(R.id.status);
TextView url = (TextView) convertView.findViewById(R.id.url);
CircleImageView profilePic = (CircleImageView) convertView
.findViewById(R.id.profile_img);
FeedImageView feedImageView = (FeedImageView) convertView
.findViewById(R.id.image);
TextView nbr_likes = (TextView)convertView.findViewById(R.id.nbr_likes);
TextView nbr_comments = (TextView)convertView.findViewById(R.id.nbr_comments);
item = feedItems.get(position);
like =(Button)convertView.findViewById(R.id.like);
comment =(Button)convertView.findViewById(R.id.comment);
like.setTag(position);
like.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
int position = (Integer) v.getTag();
like.setBackgroundColor(Color.BLACK);
item = feedItems.get(position);
Map<String, String> params = new HashMap<String, String>();
params.put("post_id", item.getId());
params.put("user_id", user_id);
Toast.makeText(activity, item.getId(), Toast.LENGTH_SHORT).show();
Toast.makeText(activity, user_id, Toast.LENGTH_SHORT).show();
// making fresh volley request and getting json
CustomRequest jsonReq = new CustomRequest(Request.Method.POST,
URL,params , new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
VolleyLog.d(TAG, "Response: " + response.toString());
if (response != null) {
parseJsonFeed(response);
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
}
});
// Adding request to volley request queue
AppController.getInstance().addToRequestQueue(jsonReq);
}
});
comment.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
item = feedItems.get(position);
Intent i = new Intent(activity, Comment.class);
i.putExtra("user_id",item.getId());
i.putExtra("name",item.getName());
i.putExtra("image",item.getImge());
i.putExtra("status",item.getStatus());
i.putExtra("profile_img",item.getProfilePic());
i.putExtra("time",item.getTimeStamp());
i.putExtra("url",item.getUrl());
i.putExtra("nbr_likes",item.getNbrLikes());
i.putExtra("nbr_comments",item.getNbrComments());
activity.startActivity(i);
}
});
name.setText(item.getName());
nbr_likes.setText(item.getNbrLikes()+ " Likes");
nbr_comments.setText(item.getNbrComments() + " Comments");
// Converting timestamp into x ago format
CharSequence timeAgo = DateUtils.getRelativeTimeSpanString(
Long.parseLong(item.getTimeStamp()),
System.currentTimeMillis(), DateUtils.SECOND_IN_MILLIS);
timestamp.setText(timeAgo);
// Chcek for empty status message
if (!TextUtils.isEmpty(item.getStatus())) {
statusMsg.setText(item.getStatus());
statusMsg.setVisibility(View.VISIBLE);
} else {
// status is empty, remove from view
statusMsg.setVisibility(View.GONE);
}
// Checking for null feed url
if (item.getUrl() != null) {
url.setText(Html.fromHtml("<a href=\"" + item.getUrl() + "\">"
+ item.getUrl() + "</a> "));
// Making url clickable
url.setMovementMethod(LinkMovementMethod.getInstance());
url.setVisibility(View.VISIBLE);
} else {
// url is null, remove from the view
url.setVisibility(View.GONE);
}
// user profile pic
profilePic.setImageUrl(item.getProfilePic(), imageLoader);
// Feed image
if (item.getImge() != null) {
feedImageView.setImageUrl(item.getImge(), imageLoader);
feedImageView.setVisibility(View.VISIBLE);
feedImageView
.setResponseObserver(new FeedImageView.ResponseObserver() {
@Override
public void onError() {
}
@Override
public void onSuccess() {
}
});
} else {
feedImageView.setVisibility(View.GONE);
}
return convertView;
}
private void parseJsonFeed(JSONObject response) {
int success;
try {
success = response.getInt(TAG_SUCCESS);
if (success == 1) {
notifyDataSetChanged();
} else {
Toast.makeText(activity, "erreur", Toast.LENGTH_SHORT).show();
}
//listAdapter.addAll(feedItems);
} catch (JSONException e) {
e.printStackTrace();
}
}
likebutton.setOnClickListener(likeButtonClickListener);
private OnClickListener likeButtonClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
View parentRow = (View) v.getParent();
ListView listView = (ListView) parentRow.getParent();
final int position = listView.getPositionForView(parentRow);
}
};
likebutton.setTag(position);
likebutton.setOnClickListener(likeButtonClickListener);
private OnClickListener likeButtonClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
int position = (Integer) v.getTag();
}
};
private int NUM_OF_ITEMS;
private final boolean[] mHighlightedPositions = new boolean[NUM_OF_ITEMS];
...
if(mHighlightedPositions[position]) {
holder.likebutton.setBackgroundResource(R.drawable.icon_yellow_star_large);
}else {
holder.likebutton.setBackgroundResource(0);
}
...
holder = new ViewHolder();
int position = (Integer)view.getTag();
@Override
public void onClick(View view) {
int position = (Integer)view.getTag(); // gets current position
Log.d(TAG, "Button row pos click: " + position);
...
...
if(mHighlightedPositions[position]) { // current position is given
button.setBackgroundResource(0);
mHighlightedPositions[position] = false;
}else {
button.setBackgroundResource(R.drawable.icon_yellow_star_large);
mHighlightedPositions[position] = true;
}
}