Я заменил OnClikListener на мой класс CustomTweetTimelineListAdapter следующим и примером и отлично работает, но когда твит содержит URL-адрес, клик по ссылке не обнаружен и вызывает вызов действия OnClicklistener адаптера, возможно make, если ссылка нажата, откройте URL-адрес вместо того, чтобы активировать действие OnClickListener адаптера?Нажмите на ссылку на пользовательский адаптер
package client.tclient.com.client;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Adapter;
import com.twitter.sdk.android.core.models.Tweet;
import com.twitter.sdk.android.tweetui.Timeline;
import com.twitter.sdk.android.tweetui.TweetTimelineListAdapter;
/**
* Created by alvaro on 13/06/16.
*/
public class CustomTweetTimelineListAdapter extends TweetTimelineListAdapter implements Adapter{
private Context context;
/**
* Constructs a TweetTimelineListAdapter for the given Tweet Timeline.
*
* @param context the context for row views.
* @param timeline a Timeline<Tweet> providing access to Tweet data items.
* @throws IllegalArgumentException if timeline is null
*/
public CustomTweetTimelineListAdapter(Context context, Timeline<Tweet> timeline) {
super(context, timeline);
this.context = context;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
//disable subviews
if(view instanceof ViewGroup){
disableViewAndSubViews((ViewGroup) view);
}
//enable root view and attach custom listener
view.setEnabled(true);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Long tweetId = getItemId(position);
Intent intent = new Intent(context,TweetActivity.class);
intent.putExtra("TWEET_ID", tweetId);
context.startActivity(intent);
}
});
return view;
}
private void disableViewAndSubViews(ViewGroup layout) {
layout.setEnabled(false);
for (int i = 0; i < layout.getChildCount(); i++) {
View child = layout.getChildAt(i);
if (child instanceof ViewGroup) {
disableViewAndSubViews((ViewGroup) child);
} else {
child.setEnabled(false);
child.setClickable(false);
child.setLongClickable(false);
}
}
}
}
Вы проверили [это] (http://stackoverflow.com/questions/11007008/whats-the-best-way-to-check-if-a-string-contains-a-url-in-java -android) ответ? Может быть, «прослушать/проверить» для URL-адреса в возвращаемой строке? –
Или используйте «android: autoLink» в TextView –