AMcoder - javascript, python, java, html, php, sql

Ո՞րն է տարբերությունը ListView onItemClickListener-ի և Adapter-ում հատուկ լսիչ ունենալու միջև:

Ես ունեմ ListView՝ editText տարրով: Իմ ցանկի դիտումը կարելի է սեղմել: Սեղմելուց հետո մանրամասների էկրան կբացվի: ListView-ի յուրաքանչյուր տող ունի խմբագրման տեքստ: Երբ EditText-ը սեղմվում է, ստեղնաշարը բացվում է և կարող է մուտքագրվել մի թիվ:

Քանի որ ես չեմ կարող օգտագործել onItemClickListener-ը, եթե ցուցակի տողում ունեմ կենտրոնացված տարրեր, ես ընտրում եմ օգտագործել հատուկ լսող: Ադապտորում.

@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
    convertView.setOnClickListener(view -> {
        onCustomClickListener.onItemClick(position);
    });
}

OnCustomClickListener-ն իրականացվում է հատվածում: այս լուծումն ինձ մոտ աշխատեց այնպես, ինչպես սպասվում էր:

Իմ հարցն այն է, թե որն է տարբերությունը onItemClickListener-ի և այս սովորական լսողի միջև: Արդյո՞ք onItemClickListener-ն ինչ-որ կերպ օպտիմիզացված է, և այդ պատճառով մենք սովորաբար օգտագործում ենք այն:

ListView-ում մենք չենք կարող ունենալ և՛ տող (կենտրոնացման ենթակա) և՛ տարրեր, որոնք կարող են նաև լինել կենտրոնացված (editText): Եթե ​​ցուցակի տողում ունենք editText, ապա onItemClickListener-ը չի կանչվի, եթե մենք չավելացնենք android:descendantFocusability="blocksDescendants" ցուցակի row.xml դասավորության մեջ:

Շնորհակալություն.


Պատասխանները:


1

Քանի որ ես չեմ կարող տեսնել ձեր հատվածի կոդը, կարող եմ միայն կռահել, որ կա մի տեսակ անջատիչ դեպք, որն ընտրում է EditView ըստ դիրքի, այնպես չէ՞: Այս տեսակի ունկնդիր օգտագործելու մեջ օպտիմալացում չկա: Ինչպես ասացիր,

Քանի որ ես չեմ կարող օգտագործել onItemClickListener-ը, եթե ցուցակի տողում ունեմ կենտրոնացված տարրեր

այնպես որ, յուրաքանչյուր տողում դիտելու համար ունկնդիր, որը ֆրագմենտից հատուկ լսող է կանչում, ընդամենը հաքեր է մեջբերված խնդիրը լուծելու համար:

21.01.2018
  • Շնորհակալություն պատասխանի համար։ Ցանկում row.xml ես ունեմ հատուկ դիտում, որն ունի EditText, որի վրա ուզում եմ սեղմել: Իմ դեպքում ես ուզում եմ, որ կարողանամ սեղմել և՛ տողի, և՛ խմբագրման տեքստի վրա: Շարքի վրա սեղմելիս հատուկ լսող ունենալը շտկում է իմ ստացած խնդիրը: Դուք գիտեք, որ ListView-ում մենք տեսականորեն չենք կարող ունենալ դիտում` կենտրոնանալով դրանց վրա և տող, որը նույնպես կենտրոնացված է: Իմ հարցն այն է, թե որն է տարբերությունը setOnItemClickListener-ի և հատվածի ադապտերից հետ կանչելու միջև: Հետ կանչը կանչվում է getView-ից (..): Կա՞ որևէ տարբերություն։ 22.01.2018
  • Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..