3

我正在将 Twitter 的 Fabric 套件用于我的 android 应用程序,并且我有一个推文列表视图,但是当我尝试单击推文(项目)以打开新活动(显示推文的详细信息)时,但当我单击到项目,一个应用程序选择器自动出现
似乎twitter-api已经设置了一个onItemClickListener所以我问是否有人已经使用过Fabric套件我需要帮助

ListView tweetLV = (ListView) root.findViewById(R.id.list_tweets);
adapter = new TweetViewAdapter<CompactTweetView>(getActivity());
tweetLV.setAdapter(adapter);

tweetLV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
        String hashtag = adapter.getItem(i);
        Intent intent = new Intent(getActivity(), DetailActivity.class)
            .putExtra(Intent.EXTRA_TEXT, hashtag);
        startActivity(intent);
    }
}); 
4

1 回答 1

3

正如我在这个问题上建议的那样,您可以尝试创建一个自定义适配器来覆盖推文的默认 onClick 行为:

class CustomTweetTimelineListAdapter extends TweetTimelineListAdapter {

    public CustomTweetTimelineListAdapter(Context context, Timeline<Tweet> timeline) {
        super(context, timeline);
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);

        //disable subviews to avoid links are clickable
        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) {
                //TODO: implement your custom behavior when clicks
            }
        });
        return view;
    }

    // see full example to find helper method disableViewAndSubViews

}

完整的代码示例在这里

希望能帮助到你。

于 2015-05-05T06:54:02.410 回答