天気アプリを開発していますが、一部のスマートフォンでoptionsMenuを表示すると問題が発生します。3つのオプションを含むメニューを表示したいのですが、HTConeXでは2つのオプションしか表示されません。
問題は、画面の下部にある黒いバーがメニューの3番目のオプションを非表示にしていることです。
これが問題のスクリーンショットです:(「Recharger」、「Voir cette image」、最後のオプション:「Autrescartes」が表示されます)
コード :
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0,100,0,m_res.getStringArray(R.array.menu_reload)[Commons.currentLanguage]).setIcon(R.drawable.reload);
menu.add(0,101,0,m_res.getStringArray(R.array.menu_view_single)[Commons.currentLanguage]).setIcon(R.drawable.see);
if(m_model.getUrl2().size() !=0)
menu.add(0,102,0,m_res.getStringArray(R.array.menu_more)[Commons.currentLanguage]).setIcon(R.drawable.more);
SubMenu moreMaps = menu.addSubMenu(0,103,0,m_res.getStringArray(R.array.menu_others_maps)[Commons.currentLanguage]).setIcon(R.drawable.france);
if(m_time == 1)
{
for(int iBoucle = 0 ; iBoucle < m_model.getNames1().size() ; iBoucle++)
moreMaps.add(1,iBoucle,1,m_model.getNames1().get(iBoucle));
}
else
{
for(int iBoucle = 0 ; iBoucle < m_model.getNames2().size() ; iBoucle++)
moreMaps.add(1,iBoucle,1,m_model.getNames2().get(iBoucle));
}
onContextItemSelected(moreMaps.getItem());
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 100:
if(Commons.getNetworkState() || Commons.getWifiState())
{
eraseData();
loadingData();
}
else
Commons.getConnectivityErrorMessage(m_Context);
return true;
case 101:
Intent sia = new Intent(m_Context, SingleImageActivity.class);
sia.putExtra("url", correctURL(m_urlImages.get(m_step)));
sia.putExtra("choiceNumber", -1);
if(m_textIsHour)
{
if(m_time == 1)
sia.putExtra("title", m_model.getNames1().get(m_mode)+" - "+m_model.getHours1().get(m_step)+"h");
else
sia.putExtra("title", m_model.getNames2().get(m_mode)+" - "+m_model.getHours2().get(m_step)+"h");
}
startActivity(sia);
break;
case 102:
if(Commons.getNetworkState() || Commons.getWifiState())
{
Intent modelSubList = new Intent(m_Context, ModelViewActivity.class);
modelSubList.putExtra("model",m_modelNumber);
modelSubList.putExtra("mode",m_mode);
if(m_time == 1)
modelSubList.putExtra("time",2);
else
modelSubList.putExtra("time",1);
startActivity(modelSubList);
finish();
}
else
{
Commons.getConnectivityErrorMessage(m_Context);
}
break;
case 103:
break;
default:
if(Commons.getNetworkState() || Commons.getWifiState())
{
Intent otherMapsIntent = new Intent(m_Context, ModelViewActivity.class);
otherMapsIntent.putExtra("model",m_modelNumber);
otherMapsIntent.putExtra("mode",item.getItemId());
otherMapsIntent.putExtra("time",m_time);
startActivity(otherMapsIntent);
finish();
return true;
}
else
{
Commons.getConnectivityErrorMessage(m_Context);
return false;
}
}
return false;
}