2016年10月15日土曜日

FragmentのonClickイベント

Activityのようにlayoutのxml内でButtonなどから
android:onClick="onClickEvent"
と記述した場合、外側のActivityにメッセージが投げられるだけで肝心の自分のFragmentには届かない。

結果としてどちらかを選ぶ必要がある。
  • xml記述を優先しActivityに処理を記述する。
  • onCreateViewなどでinflateした後にコードでリスナーを登録する。
普通に考えるとコードでリスナー登録を行う方がスマートなのですが、なんでxmlでFragment内のメソッドに飛ばさないのかが納得いきませんが。

何とかできないかといろいろ手は尽くしてみたものの、なんともならないので検索してみると同様の方はやはりいらっしゃったようです(笑)

Fragment上のonClickとかをFragment内で受け取る - Qiita:

2016年1月28日木曜日

Android Studio 2.0 Preview 8へのアップデートが失敗する

Updateing Android Studio 143.2544374 to 143.2563049...

Failed to apply patch

Temp. directory: C:\Users\user\AppData\Local\Temp\

java.io.FileNotFoundException: C:\Users\user\.AndroidStudioPreview2.0\system\log\idea.updater.files.tmp.0\temp.tmp.1\gradle\gradle-2.8\samples\userguide\artifacts\excludesAndClassifiers\repo\org.gradle.test.excludes\shared-1.0.jar (プロセスはファイルにアクセスできません。別のプロセスが使用中です。)
    at java.io.FileOutputStream.open0(Native Method)
    at java.io.FileOutputStream.open(FileOutputStream.java:270)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
    at com.intellij.updater.Utils.copyStreamToFile(Utils.java:127)
    at com.intellij.updater.Utils.copy(Utils.java:97)
    at com.intellij.updater.Utils.copy(Utils.java:91)
    at com.intellij.updater.Utils.copy(Utils.java:91)
    at com.intellij.updater.Utils.copy(Utils.java:91)
    at com.intellij.updater.Utils.copy(Utils.java:91)
    at com.intellij.updater.DeleteAction.doBackup(DeleteAction.java:52)
    at com.intellij.updater.PatchAction.backup(PatchAction.java:190)
    at com.intellij.updater.Patch$2.forEach(Patch.java:295)
    at com.intellij.updater.Patch.forEach(Patch.java:360)
    at com.intellij.updater.Patch.apply(Patch.java:291)
    at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:84)
    at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:75)
    at com.intellij.updater.Runner.doInstall(Runner.java:280)
    at com.intellij.updater.Runner.access$000(Runner.java:17)
    at com.intellij.updater.Runner$1.execute(Runner.java:246)
    at com.intellij.updater.SwingUpdaterUI$5.run(SwingUpdaterUI.java:191)
    at java.lang.Thread.run(Thread.java:745)

2度行ってみたが失敗する。
ほかのアプリケーションも終了させた状態なので、原因不明。

しかも再ダウンロードが常に始まってしまう現状の仕様もどうにかしてほしい気がする。

Java 1.8.0_60
1.8.0.65
java のアップデートも失敗する… Windows 10のBuildはインターネット回線が一時的に細くて更新できないためちょっと古いインサイダービルドですが、それが問題の様な気がする。