1

天気アプリを開発していますが、一部のスマートフォンで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;
}
4

1 に答える 1