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的主要内容,如果未能解决你的问题,请参考以下文章
Twitter REST API 与 Twitter Fabric - Twitter 核心
开始使用 Fabric 和 Twitter 工具包时遇到问题