如何使用 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 如何启动

如何在android studio中更新maven依赖

如何在模块(Android Studio)中使用 com.android.databinding?

android studio如何设置app最下方的选择栏

如何在 Android Studio 中使用我自己的 Android.mk 文件

如何使用 Android Studio 在发布模式下调试 Android App