abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 06:00 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 154. brněnský sraz, který proběhne v pátek 20. června od 18:00 na zahrádce restaurace Tanganika (Horova 35). V případě nepřízně počasí uvnitř.

Ladislav Hagara | Komentářů: 0
včera 02:22 | Zajímavý projekt

Na Humble Bundle lze v rámci akce Humble Book Bundle: Linux Geek by No Starch Press zakoupit elektronické knihy věnované operačnímu systému Linux a open source softwaru od nakladatelství No Starch Press a navíc podpořit charitu. Za 1 dolar a více lze zakoupit 6 elektronických knih, za 8 dolarů a více dalších 6 elektronických knih, za 15 dolarů a více dalších 5 elektronických knih a za 30 dolarů a více další elektronickou knihu navíc.

Ladislav Hagara | Komentářů: 0
včera 01:33 | Komunita

Patrick Volkerding oznámil před pětadvaceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

Ladislav Hagara | Komentářů: 15
16.7. 17:33 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na jednodeskový počítač Renegade Elite. Měl by být 4x výkonnější než Raspberry Pi 3 Model B+. Vlastnit jej lze již v září. Aktuální cena je 99 dolarů.

Ladislav Hagara | Komentářů: 14
16.7. 12:44 | Komunita

Od 7. do 10. června proběhla v Berlíně Linux Audio Conference 2018. Na programu byla řada zajímavých přednášek, seminářů a vystoupení. Videozáznamy lze zhlédnout na media.ccc.de.

Ladislav Hagara | Komentářů: 0
16.7. 09:44 | Pozvánky

Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.

xkucf03 | Komentářů: 0
14.7. 22:44 | Nová verze

Bylo oznámeno vydání KDE Frameworks 5.48.0, tj. nové verze aktuálně 72 knihoven rozšířujících multiplatformní framework Qt. Řešena je mimo jiné bezpečnostní chyba CVE-2018-10361 v KTextEditoru zneužitelná k lokální eskalaci práv. Knihovny KDE Frameworks jsou dnes využívány nejenom KDE Plasmou a KDE Aplikacemi.

Ladislav Hagara | Komentářů: 9
14.7. 20:11 | Nová verze

Byl vydán Debian 9.5, tj. pátá opravná verze Debianu 9 s kódovým názvem Stretch. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Předchozí instalační média Debianu 9 Stretch lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 15
13.7. 23:55 | Komunita

V Národní technické knihovně (NTK) je 150 nových počítačů s operačním systémem Linux, konkrétně s linuxovou distribucí Fedora. Do konce prázdnin si na nich lze zahrát počítačovou hru Factorio (Wikipedie). V pondělí 23. 7. proběhne LAN party s vývojáři této hry.

Ladislav Hagara | Komentářů: 0
13.7. 17:33 | Zajímavý software

Fanatical (Wikipedie) má ve slevě řadu počítačových her běžících také na Linuxu. Balíček her Fanatical Strategy Bundle lze koupit za 1,99 eur.

Ladislav Hagara | Komentářů: 1
Jak čtete delší texty z webových stránek?
 (78%)
 (20%)
 (4%)
 (7%)
 (2%)
 (10%)
Celkem 359 hlasů
 Komentářů: 40, poslední 29.6. 10:21
    Rozcestník

    Dotaz: Android, různé layouty řádků v listView

    16.7.2017 13:14 Raaďa
    Android, různé layouty řádků v listView
    Přečteno: 253×
    Ahoj, Mám pole stringů, každý řádek má 5 položek. Mám listview, kde každý řádek má 4 sloupce. Mám 2 různé layouty řádků pro listview. Konkrétní layout se v getView() vybere podle toho, jaká je hodnota v 5-tém sloupci (který není vidět v listview, je tam jenom pro uložení informace o zpracování). viz níže.
        public View getView(int position, View convertView, ViewGroup parent) {
            View vi = convertView;
            ViewHolder holder = new ViewHolder();
    
            if (convertView == null) { //need to be fixed
                if (data[position][4] != "") {
                    vi = inflater.inflate(R.layout.processed_rows, null);
                    holder.tvCode = (TextView) vi.findViewById(R.id.prCode);
                    holder.tvDesc = (TextView) vi.findViewById(R.id.prDesc);
                    holder.tvCurrloc = (TextView) vi.findViewById(R.id.prCurrLoc);
                    holder.tvDestination = (TextView) vi.findViewById(R.id.prTargetLoc);
                } else {
                    vi = inflater.inflate(R.layout.rows, null);
                    holder.tvCode = (TextView) vi.findViewById(R.id.rCode);
                    holder.tvDesc = (TextView) vi.findViewById(R.id.rDesc);
                    holder.tvCurrloc = (TextView) vi.findViewById(R.id.rCurrLoc);
                    holder.tvDestination = (TextView) vi.findViewById(R.id.rTargetLoc);
                }
    .......
    
    Toto ovšem funguje pouze, pokud position souhlasí s indexem v poli dat. Jakmile začnu scrolovat, vzniká zmatek v layoutech řádků (jsou přiřazeny špatně).

    Mohl by někdo poradit, jak zajistit, aby se layouty přiřazovaly správně i během scrollování?

    Odpovědi

    21.7.2017 11:01 Sten
    Rozbalit Rozbalit vše Re: Android, různé layouty řádků v listView
    Mít oba layouty v jednom FrameLayoutu a v getView přepínat jejich viditelnost. Ale v tomto případě mi přijde, že samotný přístup, že máte dva různé layouty pro velmi podobná data, je chybně navržený.
    24.7.2017 17:13 Raaďa
    Rozbalit Rozbalit vše Re: Android, různé layouty řádků v listView
    A jak to má být navrženo správně?
    29.7.2017 11:16 Sten
    Rozbalit Rozbalit vše Re: Android, různé layouty řádků v listView
    Jeden layout s tím, že pokud chcete třeba jiné podbarvení, ikony či tlačítka pro zpracované řádky, tak je měníte (zobrazujete/skrýváte) programově v getView.
    24.7.2017 13:11 milan jurkulak
    Rozbalit Rozbalit vše Re: Android, různé layouty řádků v listView

    are data changed due scrolling?
    try:

    public View getView(int position, View convertView, ViewGroup parent) {
        View vi = convertView;
    
        ViewHolder holder = (vi == null) ? null : (ViewHolder) vi.getTag();
    
        if (holder == null) {
            //todo move to viewholder constructor
            vi = inflater.inflate(((data[position][4] != "") 
                 ? R.layout.processed_rows
                 : R.layout.rows
            ), null);
    
            // holder constructor can have parameters, 
            // example: new ViewHolder(inflater, vi, data[position])
            holder = new ViewHolder();
    
            //todo move to viewholder constructor
            vi.setTag(holder);
     
            // todo this can be in holder too
            holder.tvCode = (TextView) vi.findViewById(R.id.prCode);
            holder.tvDesc = (TextView) vi.findViewById(R.id.prDesc);
            holder.tvCurrloc = (TextView) vi.findViewById(R.id.prCurrLoc);
            holder.tvDestination = (TextView) vi.findViewById(R.id.prTargetLoc);
        }
            
        // todo: holder function to set data
        holder.setData(data[position]);
        
        return vi;
    }
    
    24.7.2017 16:45 Sten
    Rozbalit Rozbalit vše Re: Android, různé layouty řádků v listView
    Tohle má ten samý problém, jako má OP. Při skrolování se views recyklují, takže se nevolá inflate.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.