twitter listViwe Fabric Kit的OClickItem

Posted

技术标签:

【中文标题】twitter listViwe Fabric Kit的OClickItem【英文标题】:OClickItem of twitter listViwe Fabric Kit 【发布时间】:2014-12-26 13:38:02 【问题描述】:

我正在将 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);
    
); 

【问题讨论】:

您找到答案的任何更改?我在同一条船上 我查看了代码,发现在 BaseViewTweet 类中他们正在触发一个意图 Intent intent = new Intent("android.intent.action.VIEW", this.getPermalinkUri());因此我们可以通过扩展和覆盖方法来改变它。 使用 android:scheme="https" 为 android.intent.action.VIEW 添加一个意图过滤器,您将捕捉到被触发的意图。但我仍然更喜欢一种覆盖 onCLickListener 的方法。 @sahu 几天前我问了一些东西,但我可以覆盖该方法。有什么办法可以消除这个动作 Intent intent = new Intent ("android.intent.action.VIEW"? (***.com/questions/29933868/… -using-fabric-sdk) @pgutierrez 在 BaseTweetView 类中有一个名为 SetPermaLinkLauncher 的私有方法,该方法正在设置此意图触发操作。现在因为它是私有的,我想不出任何方法来覆盖这个方法。顺便说一句,您是如何覆盖 onClickListener 的?在覆盖它时,我的行为没有任何变化。我仍然有应用选择器菜单。 【参考方案1】:

正如我在this question 上建议的那样,您可以尝试创建一个自定义适配器来覆盖推文的默认 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


完整代码示例here

希望对你有帮助。

【讨论】:

以上是关于twitter listViwe Fabric Kit的OClickItem的主要内容,如果未能解决你的问题,请参考以下文章

Fabric(twitter api)设置问题。使用迅捷

Twitter REST API 与 Twitter Fabric - Twitter 核心

开始使用 Fabric 和 Twitter 工具包时遇到问题

Twitter 的 Fabric 密钥

使用 Fabric SDK 获取 Twitter 用户电子邮件

来自fabric的Twitter登录在片段中不起作用