ノンプログラマー・プログラミング・ガイド

ほぼ独学。もはやおっさんになりかかってからプログラミングの勉強開始。HTML、CSS、JavaScript、SQL、PHP、Javaがなんとなく解る。Joomla!とandroidで書いたプログラムを配布中。iPhoneアプリ作りたいからMacくれ(下さい)。

2013年04月

Androidでは、Activityが呼び出されたときに、自動的にメニューのアイテムもロードされます。

自動的にロードされるんですけど、onCreateOptionsMenu(Menu menu)がコールされるので、その時に処理しちゃえば、メニューのアイテムも変更されます。


 で、問題は、onCreateOptionsMenuの呼び出しが終わった後に、menuのアイテムを更新するには、どーすればいいのかです。


 解決策:API 11以上
invalidateOptionsMenu();
 メニューの設定が終わった後に、上のメソッドを呼べばいいみたいです。


解決策:API11未満
API11未満の場合は、上記のメソッドは呼べず、どーすればいいんだよハゲと思ってたんですが、サポートライブラリーにあるみたいです。

ActivityCompat.invalidateOptionsMenu(ActivityName.this);


参考:
http://stackoverflow.com/questions/10692755/how-do-i-hide-a-menu-item-in-the-actionbar
http://stackoverflow.com/questions/7878957/how-to-make-a-conditional-invalidateoptionsmenu-call-depending-on-the-api-leve


コードを見やすくするようにするか・・・?
 

PHPで、JSON形式の値をデコードするときに、なにやら大きな数をうっかり入れていると、floatになるみたい。正の数の最大値は、32bitで2,147,483,6487(2^31-1)となる模様。これを超えた値だと、float型(1.00000239289...とか)に自動的に変換されるみたい。



解決策: <= PHP5.4
PHP5.4以上だとなにやら第四引数で、大きな数字の扱い方を指定できるみたい
http://php.net/manual/en/function.json-decode.php


解決策:< PHP5.3
PHP5.3以下の場合は、コメント欄に書かれている
http://php.net/manual/en/function.json-decode.php#105892

number_format($bigInt, 0, '', '');
がよさげみたい。

大きな数字を文字列に変換してくれます。



FacebookのAPI使ってて、idがfloatに変換されててなんだこりゃあああああああああああって思っただけ・・・・。


 

なんとなくブログ作った

このページのトップヘ