小编Ugg*_*dle的帖子

使用getItemPosition(Object object)重新排序FragmentStatePagerAdapter中的页面

我相信当重写getItemPosition(Object object)以重新排序页面时,FragmentStatePagerAdapter的行为不正确.

下面是一个简单的例子.在初始状态中,页面的顺序是{A,B,C}.在呼叫时toggleState(),页面的顺序变为{A,C,B}.通过覆盖getItemPosition(Object object),我们确保正在查看的当前页面(A,B或C)不会更改.

public static class TestPagerAdapter extends FragmentStatePagerAdapter {
    private boolean mState = true;

    public TestPagerAdapter(FragmentManager fragmentManager) {
        super(fragmentManager);
    }

    @Override
    public int getCount() {
        return 3;
    }

    private void toggleState() {
        mState = !mState;
        notifyDataSetChanged();
    }

    private String getLabel(int position) {
        switch (position) {
            case 0:
                return "A";
            case 1:
                return mState ? "B" : "C";
            default:
                return mState ? "C" : "B";
        }
    }

    @Override
    public int getItemPosition(Object object) { …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager fragmentpageradapter

24
推荐指数
1
解决办法
2万
查看次数

无法投射到个人白名单接收器应用程序

我已成功使用Android TicTacToe应用程序转换为TicTacToe接收器应用程序(AppID"TicTacToe"),使用来自github上TicTacToe示例的未修改代码.

接下来,我尝试使用我的个人接收器应用程序.我收到电子邮件几个小时让我知道我的设备已列入白名单并提供AppID.我将AppID放在第90行的GameActivity.java上(不是第91行,如说明中所述),我也将它放在tictactoe.html的第35行(指令中缺少此步骤,但我认为需要它).我还按照说明的"常见错误"部分中的所有步骤进行操作.

当我点击Android应用中的"开始"按钮时,Tic-Tac-Toe板出现在Android应用中,但Chromecast设备没有明显的反应.

这是LogCat:

07-28 00:13:47.776: W/StartSessionTask(10892): StartApplicationRequest failed with status: -4
07-28 00:13:47.826: E/ApplicationSession(10892): StartSessionTask failed with error: failed to start application: request failed
07-28 00:13:47.826: D/GameActivity(10892): start session failed: failed to start application: request failed
Run Code Online (Sandbox Code Playgroud)

android google-cast

3
推荐指数
1
解决办法
1611
查看次数