2019-04-01から1ヶ月間の記事一覧

Maps Android API: Google Maps Android API v2 only supports devices with OpenGL ES 2.0 and above

Androidでgoogle mapを表示しようとしてこういったエラーが出る E/Google Maps Android API: Google Maps Android API v2 only supports devices with OpenGL ES 2.0 and above E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf 何故かエミュレ…

kotlinで複数のAsyncTaskLoaderでカジュアルにview操作を行う

複数のAsyncTaskLoaderを実行して非同期でview操作を行いたかったので。thread立ててhandlerで処理すれば手っ取り早いのだが、Androidでthreadを乱発させるのはお作法が悪いようなのでAsyncTaskLoaderでやることにした。 ベースとなるAsyncTaskLoaderの実装 …

kotlinでinner class

inner宣言をした時、外クラスのprivateメンバにアクセスできる。 class MainActivity : AppCompatActivity() { private var ret = 0 inner class Hoge: Int{ fun foo { return ret } } ...

kotlinでListViewのカスタムlayout

SimpleAdapterの第5引数はintArrayOfじゃないと怒られる。 var data = arrayListOf( hashMapOf<String,String>("title" to "AAA", "tag" to "a", "desc" to "111"), hashMapOf<String,String>("title" to "BBB", "tag" to "b", "desc" to "222"), hashMapOf<String,String>("title" to "CCC", "tag" to "c"</string,string></string,string></string,string>…

kotlinでsetOnScrollListener

サンプルはListViewの末尾のRowAtが10の時にLog.dを吐く p1は表示中の先頭のRowAt(他Viewに潜っている時も表示中とみなす), p2は表示中のRowCount, p3はListViewに渡されたArrayAdapterのArrayCount よって、末尾のRowAtを求めるには p1+p2になる。 list.set…

kotlinでMultiChoiceModeListener

ListViewのandroid:choiceMode="multipleChoiceModal" のやつ list.setMultiChoiceModeListener( object: AbsListView.MultiChoiceModeListener{ override fun onCreateActionMode(p0: ActionMode?, p1: Menu?): Boolean { return true } override fun onPre…

kotlinで動的ListView生成 & クリックイベント

すっきり記述できる(^_^) val data:ArrayList<String> = ArrayList() data.add("1") data.add("2") data.add("3") val listView: ListView = findViewById(R.id.list) list.adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data) list.setOnItem</string></string>…

kotlinでRatingBar

SAM変換でサクっと書ける val bar = findViewById<RatingBar>(R.id.rating) bar.setOnRatingBarChangeListener { ratingBar, fl, b -> Toast.makeText(this, fl.toString(), Toast.LENGTH_SHORT).show() }</ratingbar>

kotlinでspinner動的生成

fun createSpinner(){ var list = ArrayList<String>() list.add("1") list.add("2") list.add("3") val adapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, list) val spinner = findViewById<Spinner>(R.id.spinner) spinner.adapter = adapter }</spinner></string></string>…

kotlinでspinner

setOnItemSelectedListenerではないので注意 val spinner = findViewById<Spinner>(R.id.spinner) spinner.onItemSelectedListener = object: AdapterView.OnItemSelectedListener { override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long)</spinner>…

kotlinでSeekBar

val seek = findViewById<SeekBar>(R.id.seek) seek.setOnSeekBarChangeListener( object : SeekBar.OnSeekBarChangeListener{ override fun onProgressChanged(p0: SeekBar?, p1: Int, p2: Boolean) { Toast.makeText(this@MainActivity, p1.toString(), Toast.LENGT</seekbar>…

kotlinでRadioGroup & RadioButton

関数リテラルの引数iに選択されたidが飛んでくる val rg = findViewById<RadioGroup>(R.id.rgroup) rg.setOnCheckedChangeListener { radioGroup, i -> val rb = findViewById<RadioButton>(i) Toast.makeText(this@MainActivity, rb.text, Toast.LENGTH_SHORT).show(); }</radiobutton></radiogroup>

kotlinのsetOnCheckedChangeListener

関数リテラルで書くとサクッと省略できる。 大変便利(^_^) val chk = findViewById<CheckBox>(R.id.chk) chk.setOnCheckedChangeListener { compoundButton, b -> Toast.makeText(this@MainActivity, if (b) "checkboxオン" else "checkboxオフ", Toast.LENGTH_SHORT).</checkbox>…