0

ここで問題があります。新しいウィンドウは別の js ファイルで定義されます。そして、このウィンドウにメニューを追加したいと思います。そこで、次のコードを使用しました。

var menu = Titanium.UI.Android.OptionMenu.createMenu();

var item1 = Titanium.UI.Android.OptionMenu.createMenuItem({
     title : 'Item 1',
     icon : '/images/item1.png'
});

var item2 = Titanium.UI.Android.OptionMenu.createMenuItem({
     title : 'Refresh',
     icon : '/images/refresh.png'
});
menu.add(item1);
Titanium.UI.Android.OptionMenu.setMenu(menu);

その際、アプリケーションがクラッシュしました。誰かがこれを理解するのを手伝ってくれますか?

前もって感謝します!

注: Appcelerator を使用して Android アプリケーションを開発しています。

4

1 に答える 1

0

現在のヘビーウェイトウィンドウでメニューを設定することを常に忘れないでください。ヘビーウェイトウィンドウを作成するには、次の1つ以上を指定します。

  1. 全画面表示、
  2. navBarHidden、
  3. モーダル

それ以外の場合は、このプロパティを指定して、これが機能しているapp.jsファイルを使用できます。

var menu = Titanium.UI.Android.OptionMenu.createMenu();
var item1 = Titanium.UI.Android.OptionMenu.createMenuItem({
    title : 'Item 1',
    icon : '/images/item1.png'
});

item1.addEventListener('click', function(){
    Ti.UI.createAlertDialog({ title : 'You clicked Item 1'}).show();
});
var item2 = Titanium.UI.Android.OptionMenu.createMenuItem({
    title : 'Refresh',
    icon : '/images/refresh.png'
});
item2.addEventListener('click', function(){
    Ti.UI.createAlertDialog({ title : 'You clicked Refresh'}).show();
});
menu.add(item1);
menu.add(item2);

// Set the menu on the current heavyweight window. A heavyweight window maps to an Android
// Activity. To create a heavyweight window, specify one or more of [**fullscreen**,**navBarHidden**,**modal**] to createWindow.

Titanium.UI.Android.OptionMenu.setMenu(menu);
于 2012-09-07T09:48:14.223 に答える