我正在使用twitter4j库为Android创建一个Twitter客户端。
我希望客户端仅在列表视图中的某些项目上显示“true”。
然后我编码如下:
private class TweetAdapter extends ArrayAdapter<Status> {
private LayoutInflater mInflater;
public TweetAdapter(Context context) {
super(context, android.R.layout.simple_list_item_1);
mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_item_tweet, null);
}
Status item = getItem(position);
// setStatus(convertView, getItem(position));
TextView name = (TextView) convertView.findViewById(R.id.name);
name.setText(item.getUser().getName());
TextView screenName = (TextView) convertView.findViewById(R.id.screen_name);
screenName.setText("@" + item.getUser().getScreenName());
TextView text = (TextView) convertView.findViewById(R.id.text);
text.setText(item.getText());
SimpleDateFormat sdf = new SimpleDateFormat("M/d(E) H:mm:ss");
TextView time = (TextView) convertView.findViewById(R.id.time);
time.setText(sdf.format(item.getCreatedAt().getTime()));
SmartImageView icon = (SmartImageView) convertView.findViewById(R.id.icon);
icon.setImageUrl(item.getUser().getProfileImageURL());
if(item.isRetweet()){
TextView rt = (TextView) convertView.findViewById(R.id.rted_by);
rt.setText(String.valueOf(item.isRetweet()));
}
return convertView;
}
}
令我惊讶的是,即使某些不是“转推”的物品,我也会得到额外的“真实”。
一旦我删除了如下所述的if语句,我就可以在适当的项目上获得适当数量的“true”或“false”。
//if(item.isRetweet()){
TextView rt = (TextView) convertView.findViewById(R.id.rted_by);
rt.setText(String.valueOf(item.isRetweet()));
//}
所以问题是if语句不能像我打算那样工作。