onCreateOptionsMenuはアクティビティで1回だけ呼び出されることを知っていますが、onOptionsItemSelectedにネットワークチェックを設定することは可能ですか?
アイテムが選択されたときにConnectivityManagerネットワークチェックを使用しようとしましたが、常にtrueが返されます... onCreateOptionsMenuが呼び出され、ネットワーク状態でロックされたときに設定されているかどうかはわかりません。
これが私のコードです:
public void refreshCheck(){
try
{
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if(cm == null)
isAvailable = false;
else
isAvailable = cm.getActiveNetworkInfo().isAvailable();
}
catch(Exception e){}
if(isAvailable == true)
{
listDataPopulate();
}
else
{
Toast refresherror = Toast.makeText(this, "Connection interrupted. Unable to refresh.", duration);
refresherror.show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.news_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId())
{
case R.id.aboutMenuItem:
AlertDialog.Builder alert=new AlertDialog.Builder(this);
alert.setTitle("About App").setMessage("About this app....").setNeutralButton("OK", null).show();
break;
case R.id.refreshNewsMenuItem:
refreshCheck();
break;
default:
}
{
}
return super.onOptionsItemSelected(item);
}