@Override public View getView(int position, View convertView, ViewGroup parent) { RelativeLayout toReturn = null; if (convertView != null) toReturn = (RelativeLayout) convertView; else toReturn = (RelativeLayout) LayoutInflater.from(context).inflate(R.layout.dm_convo_item, null); final DMConversation curItem = items.get(position); RemoteImageView profileImgView = (RemoteImageView) toReturn.findViewById(R.id.dmConvoProfileImg); if (PreferenceManager.getDefaultSharedPreferences(context) .getBoolean("enable_profileimg_download", true)) { profileImgView.setImageResource(R.drawable.sillouette); profileImgView.setImageURL(Utilities.getUserImage(curItem.getToScreenName(), context)); profileImgView.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { context.startActivity( new Intent(context, ProfileScreen.class) .putExtra("screen_name", curItem.getToScreenName()) .putExtra("account", AccountService.getCurrentAccount().getId()) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)); } }); } else profileImgView.setVisibility(View.GONE); final TextView messageTxt = (TextView) toReturn.findViewById(R.id.dmConvoMessageTxt); if (curItem.getLastSenderIsMe()) { View replyIndic = toReturn.findViewById(R.id.dmConvoReplyIndicator); replyIndic.setVisibility(View.VISIBLE); RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) replyIndic.getLayoutParams(); layoutParams.addRule(RelativeLayout.RIGHT_OF, R.id.dmConvoProfileImg); layoutParams.addRule(RelativeLayout.BELOW, R.id.dmConvoScreenNameTxt); layoutParams = (RelativeLayout.LayoutParams) messageTxt.getLayoutParams(); layoutParams.addRule(RelativeLayout.RIGHT_OF, R.id.dmConvoReplyIndicator); layoutParams.addRule(RelativeLayout.BELOW, R.id.dmConvoScreenNameTxt); messageTxt.setLayoutParams(layoutParams); } else { (toReturn.findViewById(R.id.dmConvoReplyIndicator)).setVisibility(View.GONE); RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) messageTxt.getLayoutParams(); layoutParams.addRule(RelativeLayout.RIGHT_OF, R.id.dmConvoProfileImg); layoutParams.addRule(RelativeLayout.BELOW, R.id.dmConvoScreenNameTxt); messageTxt.setLayoutParams(layoutParams); } FeedListAdapter.ApplyFontSize(messageTxt, context); if (PreferenceManager.getDefaultSharedPreferences(context) .getBoolean("show_real_names", false)) { ((TextView) toReturn.findViewById(R.id.dmConvoScreenNameTxt)).setText(curItem.getToName()); } else { ((TextView) toReturn.findViewById(R.id.dmConvoScreenNameTxt)) .setText("@" + curItem.getToScreenName()); } messageTxt.setText( Utilities.twitterifyText( context, curItem.getLastMessage().getText().replace("\n", " ").trim(), null, null, true, null)); return toReturn; }