Android

AdapterView.OnItemClickListener

MainActivityにAdapterView.OnItemClickListenerを実装するという方法もある。AdapterView.OnItemClickListener | Android DevelopersMainActivity.javaで、implements AdapterView.OnItemClickListenerとして、別にしたonItemClickに処理を書く。 でlistvie…

AdapterView.setOnItemClickListener

AdapterView.setOnItemClickListenerで、アイテムがクリックされた時のリスナーをセットする。AdapterView | Android DevelopersMainActivity.javaで、クリックされた位置positionをトースト表示。 起動時起動時。 真ん中のitem2をクリックすると、 position…

ListFragment.setListShownNoAnimation

ListFragment.setListShownNoAnimationも、リスト表示・非表示切り替えだが、"切り替え時"のアニメーションが無い。ListFragment | Android Developersstrings.xmlで、Buttonを1つ追加。 activity_main.xmlで、Buttonを配置。 CustomListFragment.javaで、最…

ListFragment.setListShown

ListFragment.setListShownで、リストの表示・非表示を切り替える。ListFragment | Android DevelopersCustomListFragment.javaで、setListShownでfalseにすると、リスト非表示となるが、 リスト非表示とはプログレスリングここでいうリスト非表示とはプログ…

ListFragment.setEmptyText

ListFragment.setEmptyTextで、リストが空の時に表示するテキストをセットする。ListFragment | Android DevelopersCustomListFragment.javaで、setEmptyTextで表示するテキストをセットしてから、mItemsのインスタンスであるArrayList&ltListItem>自体は作…

ListFragment.setListAdapter

ListFragment.setListAdapterでアダプタをセットする。ListFragment | Android Developersこちらも、今回はCustomAdapterを作る。 list_item.xmlで、nameとaddressのTextView。 ListItem.javaで、nameとaddress。 CustomAdapter.javaで、ArrayAdapter&ltList…

ListFragment

ListViewの機能を持ったFragment、ListFragmentというものもある。ListFragment | Android Developersactivity_main.xmlで、FrameLayoutにFragmentを挿入していく。 CustomListFragment.javaで、ListFragmentを継承。 どこで、アダプタをセットするかが肝だ…

ListActivity.setListAdapter

ListActivityの場合は、setListAdapterでAdapterをセットする。ListActivity | Android Developers今回は、CustomAdapterクラスを作成する。 activity_main.xmlはいじらなくていいが、list_item.xmlを追加し、2つのTextViewでnameとaddress。 ListItem.java…

ListActivity

ListActivityは、ListViewの機能を持つActivity。ListActivity | Android デベロッパー | Android DevelopersMainActivity.javaで、ArrayAdapter&ltString>で、既定のandroid.R.layout.simple_list_item_1を使っているので、これだけでいい。 一切レイアウト…

BaseAdapter

ArrayAdapterや他のAdapterより、BaseAdapterを派生した方が、よりカスタマイズできる。BaseAdapter | Android DevelopersCustomAdapter.javaで、namesとaddressesの少ない方を表示数とする。 MainActivity.javaで、 package com.bgstation0.android.sample.…

ListView.setAdapter

ListView.setAdapterで、ListViewにAdapterをセットする。ListView | Android Developers今回は、BaseAdapterを継承して、CustomAdapterをつくる。 list_item.xmlで、2つのTextView、nameとaddress。 activity_main.xmlで、ListView。 CustomAdapter.javaは…

Fragment.setRetainInstance

回転した時に、ActivityやFragmentの状態を保持する方法はいろいろある。 strings.xmlで、Fragment1の中にTextViewとButton。 fragment1_main.xmlは、このようにTextViewとButton。 activity_main.xmlは、FrameLayoutだけ。 Fragment1.javaは、 package com.…

FragmentTransaction.commitAllowingStateLoss

非同期処理とフラグメント操作を組み合わせると少し問題が発生する。 前回の項をベースに、CustomAsyncTask.javaを追加し、適当な非同期処理として例えば10秒経ったら、MainActivityに定義したreplaceFragmentというメソッドを呼ぶ。 MainActivity.javaで、 …

FragmentTransaction.commit

FragmentTransaction.commitで、追加や削除などのフラグメント操作処理を確定させる。FragmentTransaction | Android Developersこのcommitが無いと、フラグメントが追加されない。 strings.xmlで、とし、fragment1_main.xmlで、TextViewだけ。 fragment2_ma…

FragmentTransaction.attach

FragmentTransaction.attachは、FragmentTransaction.detachとは逆に、FragmentとViewを再び紐づける。FragmentTransaction | Android Developersまあ、Viewの再生成だよね。 activity_main.xmlで、Buttonを3つに増やしている。 (strings.xmlはもう省略。) M…

FragmentTransaction.detach

FragmentTransaction.detachは、Fragmentから紐づく"View"を取り外す。FragmentTransaction | Android DevelopersFragment.onDetachは、紐づく"Activity"との関係を解除した時に呼ばれるので、実は無関係。 ただ、今回はFragment.onDetachのコードをベースに…

Fragment.onDetach

Fragment.onDetachは、Fragmentとそれに紐づいたActivityの関係が解除された時に呼ばれる。Fragment | Android Developersremoveやreplaceなど、Fragmentが破棄された時に呼ばれる。 onAttachの対となるもの。 Fragment.onDestroyViewのコードをベースに、st…

FragmentManager.getFragment

FragmentManager.getFragmentで、保存しておいたFragmentの参照を取得する。FragmentManager | Android Developers改めて、今挿入しているFragmentをmCurrentFragmentとして参照を持ち、それを操作するような場合、どのような形がいいかを検証していく。 ま…

FragmentManager.putFragment

FragmentManager.putFragmentで、Fragmentの参照を一応保存できる。FragmentManager | Android Developersstrings.xmlで、Activity用の"Button1"と、Fragment用の"FButton1"と、TextViewの"Fragment1"。 fragment1_main.xmlは、TextViewとButton。 activity_…

Fragment.getTargetRequestCode

Fragment.setTargetFragmentには、リクエストコードを指定することも出来た。 で、このリクエストコードは、Fragment.getTargetRequestCodeを使って取得できる。Fragment | Android DevelopersこれとFragment.onActivityResultを使うことで、ターゲットへの…

Fragment.getTargetFragment

Fragment.getTargetFragmentで、登録したFragmentを取得できる。Fragment | Android Developers前回はaddだったので、Fragment1のインスタンスが残っている状態のため参照することが出来たが、replaceの場合はどうだろうか。 Fragment1.javaで、addをreplace…

Fragment.setTargetFragment

FragmentからFragmentに通知したり、Fragmentから別のFragmentのメソッドを呼ぶのに、Fragment.setTargetFragmentを使って、あらかじめ自身のFragmentを登録しておくという処理をする。Fragment | Android Developersstrings.xmlで、TextViewとButton2個ずつ…

Fragment.onActivityResult

Fragment.startActivityForResultの結果は、Fragment.onActivityResultで受け取る。Fragment | Android DevelopersMainActivity.javaは、onActivityResultはあるけど、ここにはこない。 SubActivity.javaは、messageとして"ABCDE"、そしてRESULT_OKをセット…

FragmentTransaction.hide

FragmentTransaction.hideは、Fragmentの非表示だけであり、削除はしない。FragmentTransaction | Android Developersなので、onDestroyやonDestroyViewなどのライフサイクルは発生しない。 FragmentTransaction.removeの項をベースに、Buttonが押されたら、…

Activity.onActivityResult

Activity.startActivityForResultでの処理結果は、Activity.onActivityResultで受け取る。Activity | Android Developersいまさらの感じあるけど、SampleのActivity.startActivityForResultの項をベースに、SubActivityのButton押したら、RESULT_CANCELEDを…

Fragment.onDestroyView

Fragment.onDestroyViewは、FragmentのViewが破棄される時に呼ばれる。Fragment | Android DevelopersFragmentTransaction.removeで、Fragmentは破棄されるので、そのViewも破棄される。 よってonDestroyViewが呼ばれる。 SampleのFragmentTransaction.remov…

Fragment.startActivityForResult

FragmentにstartActivityがあるのだから、startActivityForResultもある。Fragment | Android Developersまずは、Activity.startActivityForResultを使う。 Fragment1.javaで、 package com.bgstation0.android.sample.fragment_; import android.app.Fragme…

FragmentTransaction.remove

FragmentTransaction.removeで、Fragmentを削除する。FragmentTransaction | Android Developers削除なので、Fragmentのライフサイクルに影響を及ぼし、onDestroyが呼ばれる。 strings.xmlで、Activityにbutton1_text、Fragmentにfragment1_textview_text。 …

Fragment.startActivity

FragmentにもstartActivityがあり、これでActivityを起動できる。Fragment | Android Developersまずは、AndroidManifest.xml。activityタグで".SubActivity"を追加。 strings.xmlは、Fragment1のTextViewとButton、SubActivityのTextView。 fragment1_main.…

FragmentManager.findFragmentById

FragmentManager.findFragmentByIdは、『Fragmentを挿入している可能性のあるFrameLayoutなどのLayoutのID』からFragmentを見つけるためのメソッド。FragmentManager | Android デベロッパー | Android Developers普通、『FragmentのID』かとおもうけど、そ…