如何使用 Android Studio 在 Twitter Kit 的 TweetUI 列表上设置 OnItemClickListener?
Posted
技术标签:
【中文标题】如何使用 Android Studio 在 Twitter Kit 的 TweetUI 列表上设置 OnItemClickListener?【英文标题】:How to set an OnItemClickListener on TweetUI list from Twitter Kit with Android Studio? 【发布时间】:2018-04-17 05:14:50 【问题描述】:我正在尝试在 android studio 中构建一个应用程序,该应用程序在列表视图中显示来自用户的推文列表,然后用户可以选择一个,推文文本被带到另一个活动。
我使用以下代码设置了一个带有手动输入的字符串数组的 onitemclicklistener,并且效果很好:
final Intent i = new Intent(this, ResultsActivity.class);
myListView.setOnItemClickListener(
new AdapterView.OnItemClickListener()
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
String tweet = String.valueOf(parent.getItemAtPosition(position));
i.putExtra("tweetMessage", tweet);
startActivity(i);
);
但是现在我已经使用 Twitter Kit 的 TweetUI 显示时间线函数来显示来自用户的推文列表,我不再能够设置 onclick 侦听器。当我点击一条推文时,它会打开网络浏览器并在 Twitter 的网站上显示该推文。
我似乎无法像以前使用“myListView.setOnItemClickListener”那样定位列表视图,因为列表视图称为 android::list,这似乎是 TwitterUI 所需的名称。我使用以下代码设置了活动,其中没有提及列表视图名称,所以我认为这是内置在 TwitterUI 中的:
final UserTimeline userTimeline = new UserTimeline.Builder()
.screenName("antijokes")
.build();
final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(this)
.setTimeline(userTimeline)
.build();
setListAdapter(adapter);
有谁知道是否有办法为列表视图设置 onitemclick 侦听器? TIA
【问题讨论】:
【参考方案1】:尝试在适配器上设置动作回调
setOnActionCallback(回调 actionCallback) 设置当 Tweet 操作执行时要调用的回调 在推文视图上执行。
final UserTimeline userTimeline = new UserTimeline.Builder()
.screenName(userName)
.maxItemsPerRequest(5)
.build();
Callback<Tweet> actionCallback = new Callback<Tweet>()
@Override
public void success(Result<Tweet> result)
@Override
public void failure(TwitterException exception)
;
final TweetTimelineRecyclerViewAdapter adapter =
new TweetTimelineRecyclerViewAdapter.Builder(getActivity())
.setTimeline(userTimeline)
.setViewStyle(R.style.tw__TweetLightWithActionsStyle)
.setOnActionCallback(actionCallback)
.build();
【讨论】:
以上是关于如何使用 Android Studio 在 Twitter Kit 的 TweetUI 列表上设置 OnItemClickListener?的主要内容,如果未能解决你的问题,请参考以下文章
如何在模块(Android Studio)中使用 com.android.databinding?