1

新しいチタン モバイル プロジェクトを開始しました (1 回目!)。タブ グループと 2 つのウィンドウにリンクする 2 つのタブを含むファイル main.js があります。最初のタブは正常にロードされるようですが、その後はすべてクラッシュするようです。リスト アイテムをクリックしたり、ボタン クリック イベントを発生させたりすることができません。2 番目のタブが機能しません。しかし、それはいつもではありません。半分は大丈夫ですが、残りの半分はクラッシュします。これが私のコードです:

app.js:

Titanium.UI.setBackgroundColor('#fff');

var main = Ti.UI.createWindow({
    url:'main_windows/main.js',
    height:Ti.Platform.displayCaps.platformHeight,
    width:Ti.Platform.displayCaps.platformWidth,
    fullscreen: true,
    navBarHidden: false
});

main.open();

main.js:

var win = Ti.UI.currentWindow;

var appointments = Titanium.UI.createWindow({});
appointments.url = 'appointments.js';

var quotes = Titanium.UI.createWindow({});
quotes.url = 'quotes.js';

var tabAppointments = Titanium.UI.createTab({  
    icon:'../KS_nav_views.png',
    title:'Appointments',
    window:appointments
});

var tabQuotes = Titanium.UI.createTab({  
    icon:'../KS_nav_views.png',
    title:'Quotes',
    window:quotes
});

// create tab group
var tabGroup = Titanium.UI.createTabGroup();
//
//  add tabs 
//
tabGroup.addTab(tabAppointments);  
tabGroup.addTab(tabQuotes);  

// open tab group
tabGroup.open();

アプリを起動すると、予定ウィンドウが読み込まれます。しかし、引用符タブまたはリスト項目の 1 つをクリックしても何も起こりません。

ここに私のアポイントメント.jsファイルがあります:

var win = Ti.UI.currentWindow;
win.backgroundColor = '#fff';   
win.title = 'Appointments';

var data = [
    {title:'Billy Jones', hasChild:true},
    {title:'Adrian Hart', hasChild:true},
    {title:'Sid Vel', hasChild:true},
    {title:'Andrew Coats', hasChild:true}
];

// create table view
var tableview = Titanium.UI.createTableView({
    data:data
});

win.add(tableview);

私の quotes.js ファイルは上記と同じですが、ウィンドウのタイトルが異なります。

私が時々言ったように、すべてが機能しているように見えてから、コードを再構築しましたが、再び機能しません。

どんな助けでも大歓迎です!

ビリー

4

3 に答える 3

0

リストビューにクリックイベントハンドラーがないため、リストをクリックしても何も起こりません。

tableview.addEventListener('click',function(e) {
       alert("clicked row"); 
});

すべてのファイルはどこにありますか?main_windows?というディレクトリにいくつかあることに気づきました。URLを使用してウィンドウを作成するときは、パスが正しく設定されていることを確認してください。すべてのファイルを同じディレクトリに移動してURLパスの問題かどうかを確認し、それが機能するかどうかを確認します

于 2011-08-23T21:40:41.100 に答える
0

最初にこれを試してください...

var tabAppointments = Titanium.UI.createTab({  
    icon:'/KS_nav_views.png',
    title:'Appointments',
    window:appointments
});

var tabQuotes = Titanium.UI.createTab({  
    icon:'/KS_nav_views.png',
    title:'Quotes',
    window:quotes
});

アイコンパスをこのようなものに置き換えてコンパイルしてチェックします。パスを指定する必要はありません... /アプリのルートから取得します...

  1. あなたの声明によると、コードが機能する場合と機能しない場合があります。ビルド フォルダー内の Android フォルダーのコンテンツを削除してから、コンパイルを試みます。これは、キャッシングの問題と、使用しているチタンのバージョンが原因です。

  2. var win = Ti.UI.currentWindow;main.js ファイルから削除...

それらのいずれかが機能したかどうかを教えてください。それはそれらの問題である可能性があり、問題が解決しない場合は...ここにコメントしてください。

于 2011-09-04T15:13:22.630 に答える
0

main.js を次のように変更するのはどうですか

var appointments = Titanium.UI.createWindow({
  url: 'appointments.js'
});

var quotes = Titanium.UI.createWindow({
  url: 'quotes.js'
});

それは役に立ちますか?

于 2011-08-23T21:05:34.230 に答える