2019-01-01から1年間の記事一覧
最近はSwiftばかり書いています www.letitride.jp
Vue.jsに入門しました。 www.letitride.jp
www.letitride.jp
最近はこっちのブログに投稿しています。 見ての通りAndroid Kotlinばかり😅 www.letitride.jp www.letitride.jp www.letitride.jp www.letitride.jp www.letitride.jp
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 何故かエミュレ…
複数のAsyncTaskLoaderを実行して非同期でview操作を行いたかったので。thread立ててhandlerで処理すれば手っ取り早いのだが、Androidでthreadを乱発させるのはお作法が悪いようなのでAsyncTaskLoaderでやることにした。 ベースとなるAsyncTaskLoaderの実装 …
inner宣言をした時、外クラスのprivateメンバにアクセスできる。 class MainActivity : AppCompatActivity() { private var ret = 0 inner class Hoge: Int{ fun foo { return ret } } ...
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>…
サンプルはListViewの末尾のRowAtが10の時にLog.dを吐く p1は表示中の先頭のRowAt(他Viewに潜っている時も表示中とみなす), p2は表示中のRowCount, p3はListViewに渡されたArrayAdapterのArrayCount よって、末尾のRowAtを求めるには p1+p2になる。 list.set…
ListViewのandroid:choiceMode="multipleChoiceModal" のやつ list.setMultiChoiceModeListener( object: AbsListView.MultiChoiceModeListener{ override fun onCreateActionMode(p0: ActionMode?, p1: Menu?): Boolean { return true } override fun onPre…
すっきり記述できる(^_^) 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>…
SAM変換でサクっと書ける val bar = findViewById<RatingBar>(R.id.rating) bar.setOnRatingBarChangeListener { ratingBar, fl, b -> Toast.makeText(this, fl.toString(), Toast.LENGTH_SHORT).show() }</ratingbar>
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>…
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>…
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>…
関数リテラルの引数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>
関数リテラルで書くとサクッと省略できる。 大変便利(^_^) val chk = findViewById<CheckBox>(R.id.chk) chk.setOnCheckedChangeListener { compoundButton, b -> Toast.makeText(this@MainActivity, if (b) "checkboxオン" else "checkboxオフ", Toast.LENGTH_SHORT).</checkbox>…
railsで /pathto/fileutils.rb:90: warning: already initialized constant FileUtils::VERSION なエラーが出た。 $ gem uninstall fileutils $ sudo gem update --default えいっとすると解決した
inout キーワードを使う func swap( a:inout Double) { a = 1.01 } var a = 2.03 swap(a:&a) print(a)
mac使いの人はWindowsキーボードの無変換/変換キーを英数/かな入力切替にすると使い易い IMEの設定からプロパティ -> 詳細設定 -> キー設定:変更 -> 無変換行の入力を[IMEオフ]に、変換行の入力を[IMEオン]にするとmacライクな操作ができる