SupportLibrary 23.2+ で Fragment で受けれる startActivityForResult()

android_support_library_-_Google_Search_🔊

Android Support Library 23.2 | Android Developers Blog

「これは大きい機能の更新」ということですが.

// SecondFragment.java
 
// Calling to SecondActivity
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
  ...
  btnGo = (Button) rootView.findViewById(R.id.btnGo);
  btnGo.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
      Intent intent = new Intent(getContext(), SecondActivity.class);
      startActivityForResult(intent, 12345);
    }
  });
}
 
// Get Result Back
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  Log.d("onActivityResult", "requestCode = " + requestCode);
}

onActivityResult() inside Nested Fragment is now called on Support Library rev 23.2 and above :: The Cheese Factory

23.2 よりも前の場合は EventBus を使って, 元の Activity で受ける方法しかなかったが, 置き換えした Fragment で受けれるということなのだろうが.

dependencies {
  compile 'com.squareup:otto:1.3.6'
}

How to make onActivityResult get called on Nested Fragment :: The Cheese Factory

でも, 逆にもう

「EventBus で戻す」だけ

でもいいように思えてきましたが, 手抜きすぎるか.

Otto自体はメンテ終了しているので, Rx方面に進むのがよいのだろうか.

OttoからRxJavaへの移行ガイド - Qiita

元記事「nest」という言葉が気にはなるが.

サポートライブラリ群のバージョン表記もなんとなく紛らわしくなってきたな, と.

032: Making sense of Android Support Library version numbers – Fragmented


JDK 1.8.0_77 に更新して IDEA-146691 のドラッグアンドドロップ問題を解消だわ

こんな「System Health」ダイアログでてましたが放置のままでした.

jdk

Drag and Drop (to move file) Dialog frozen - escape exits : IDEA-146691

問題のJDKバージョンは「1.8.0_60 から1.8.0_76」でした.

でこんなニュース記事を読みました.

影響のあるバージョンはWindows、Solaris、Linux、OS X向け「Oracle Java SE」の「Version 7 Update 97」と「Version 8 Update 73」「Version 8 Update 74」。

「Java SE」に深刻な脆弱性--オラクル、最新版への更新を呼びかけ - CNET Japan

とりあえず更新ページをみると「1.8.0_77」なので更新.

Java_SE_Development_Kit_8_-_Downloads

Java SE Development Kit 8 - Downloads

で AndroidStudio を起動すると, ダイアログはもうでなくなりました.

しかし, Android Studio て Java6 ベースで作られているらしいが問題なさげなのでまあいいか.

不具合あったら Android Studio 向けのみ切り替えればよし.とな.

Android Studio と JDKバージョン


急げ!! いまなら使えるイースターエッグ「adb lolcat」

lolcat_-_Google_Search

lolcat(ロルキャット、あるいはエル・オー・エル・キャット)は、多くの場合ネコの画像にユーモラスで風変わりなキャプションを、正しくない英語で付けたものである。インターネットスラングなどに見られる文法の貧弱な英語のパロディである。lolcatは笑いを表す頭文字語のLOLと「cat」(ネコ)の複合語である。

Lolcat - Wikipedia

android のデバッグツールである「adb」の隠しコマンドが, Android N で 削除されはじめているようです.

$ adb hell

adb_hell

    else if (!strcmp(argv[0], "shell") || !strcmp(argv[0], "hell")) {
        char h = (argv[0][0] == 'h');
        if (h) {
            printf("\x1b[41;33m");
            fflush(stdout);
        }

adb/commandline.cpp - 6.0.1_r22

以下は, Nでも 健在です.

いまのうちに使っておきましょう.

$ adb lolcat

 /* other commands */
    else if (!strcmp(argv[0],"logcat") || !strcmp(argv[0],"lolcat") || !strcmp(argv[0],"longcat")) {
        return logcat(transport_type, serial, argc, argv);
    }

$ adb longcat

    if (!strcmp(argv[0], "longcat")) {
        cmd += " -v long";
    }

adb/commandline.cpp - Android N Preview1

どうでもいいですかね.