C-FRONT

エモくありたい

2016_01_12週_子要素のstateに合わせてstyleを変える他

子要素のstateに合わせてstyleを変える

子要素にcheckboxが入っているlinearLayoutとかで、子要素のcheckedに合わせて親のlinearlayoutもstyleを変えたい時

LinearLayout
    CheckBox

こういう状態で、CheckBoxのcheckedの状態によってLinearLayoutのスタイルを変える

android:addStatesFromChildren="true"

これをLinearLayoutにつけて、いつものselectorを設定すれば、子要素のcheckboxのcheckedを取得してきて見た目を変えることができる。便利〜。コードがすっきりする〜

WebViewClient#shouldOverrideUrlLoadingとは何者

onPageStartedの前に呼ばれる url見てwebView内の挙動にしたくない時などに使える ※今回は外部サイトなので、外部ブラウザに飛ばす時に使用

d.hatena.ne.jp

resourceでstring-arrayを持つ

  <string-array name="url_patterns">
        <item>hoge.jp</item>
        <item>hoge.hoge.jp</item>
        <item>hoge.fuga.net</item>
  </string-array>

呼び方は

context.getResources().getStringArray(R.array.url_patterns);

簡単。

OkHttp3リリースについて

qiita.com

  • パッケージ名が2系と異なるため既存のものと一緒に使える
  • 2.4はデフォルトタイムアウト設定されてない
  • 2.5はデフォルトタイムアウトが15秒設定されている

TextViewのデフォルトカラー

コードから文字色を変える時

hogeView.setTextColor(R.color.res);

という風にはかけない

stackoverflow.com

memo755.blog.fc2.com

stackoverflow.com

webViewのreload

postで送られた画面などはreload()では機能しない。 loadUrl()を用いてreloadを実装する

stackoverflow.com

引数の中身を変える

 @Override
    public void showHoge(String url) {
        if (TextUtils.isEmpty(url)) {
            url = getResources().getString(R.string.webview_http);
        }
       ・
  ・
  ・

    }

基本渡ってきた引数を使うけど、空だったらとかイレギュラーな値だったら特定のものを入れたい、とか 新しく変数つくらなきゃいけないと思ってたけどこれでいいんだ、知らなかった…

暗黙的インテントでActivityNotFoundException

外部アプリにインテント投げるときに、該当のアプリがない場合はActivityNotFoundExceptionが起きる

9ensan.com

return を||で返す選択肢

return hogePresnter.shouldOverrideUrlLoading(url)|| super.shouldOverrideUrlLoading(view, url);