Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Nested MasterView in Titanium

Pagina: 1
Acties:

  • sariel
  • Registratie: Mei 2004
  • Laatst online: 22-05-2024
Hey iedereen,

ik ben een Titanium appje aan het maken waarbij ik een geneste klikbare MasterView table wil hebben. Op het ogenblik heb ik het volgende:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
function MasterView() {
    //create object instance, parasitic subclass of Observable
    var self = Ti.UI.createScrollView({
        backgroundColor:'white'
    });

    //some dummy data for our table view

    var table = Ti.UI.createTableView({
        data: loadBooks()
    });
    self.add(table);
    
    //add behavior
    table.addEventListener('click', function(e) {
        if (e.rowData.title && e.rowData.book)
        {
            alert(e.rowData.book + " " + e.rowData.title);
            self.fireEvent('itemSelected', {
                chapter: e.rowData.title,
                book:    e.rowData.book
            });
        }
        if (e.rowData.title)  
        {
            self.fireEvent('itemSelected', {
                chapter: 1,
                book:    e.rowData.title
            });
            var tv = Ti.UI.createTableView({  
                data: e.rowData.data,
                book: e.rowData.title 
            });
            self.add(tv);
        }
    });

    return self;
};


De eerste tabelview wordt geladen en is klikbaar, dat gaat prima. De tweede tabelview wordt op basis van de eerste opgebouwd, dat klopt ook. Alleen kan ik als ik op een van de tabeview entries druk, gebeurd er niets behalve dat de tabelview entry even oplicht. Hoe kan ik de tweede tabelview ook interactief maken?

Copy.com


  • Tieske[82]
  • Registratie: Juli 2001
  • Laatst online: 09-02 22:11
Je creëert nu een tabel ("table"). Zodra je daar op klikt opent hij op regel 30 een nieuwe tabel ("tv"). Maar je zult ook een eventListener aan de nieuwe tabel moeten koppelen wil je een click op de nieuwe tabel willen afhandelen.


JavaScript:
1
2
3
tv.addEventListener('click', function(e) { 
  // doe iets
});


De andere optie is de data in de eerste tabel ("table") vervangen met de data die je nu in de nieuwe tabel ("tv") laat zien.

[ Voor 16% gewijzigd door Tieske[82] op 27-01-2014 12:56 ]