Trang 1 của 3 123 CuốiCuối
Kết quả 1 đến 10 của 23
  1. #1
    Ngày tham gia
    Jan 2015
    Bài viết
    0

    ViewHolder - Tủy chỉnh và quản lý một ListView trong ứng dụng android

    đây là một bài hướng dẫn kỹ thuật xử lý listview cấp cuối, ở đây các bạn có thể tùy biến một listview theo như mong muốn của bạn và cũng có thể quản lý được các đối tượng cũng như các sự kiện nhỏ bên trong nó.


    [img]data/attachments/16/16460-4fb9a3277f378924f1ac76d8f8376952.jpg[/img]

    1) source code demo:
    click vào đây để download source code demo.

    2) viewholder là gì?
    - là một thuật ngữ nói chung nhằm để tùy chỉnh một view (hiển thị) theo ý của bạn. và bằng thủ thuật này bạn có thể làm chủ được các đối tượng do chính các bạn tạo ra.
    - đây là một kỹ thuật lập trình không khó nhưng đòi hỏi các bạn phải hiểu và nắm vững để sử dụng trong các trường hợp xây dựng một ứng dụng có yêu cầu khá cao từ phía khách hành đặt làm ứng dụng.

    3) mô tả một ví dụ sử dụng viewholder:
    - khách hàng yêu cầu bạn làm 1 ứng dụng mạng xã hội trên di động
    - trong số các chức năng, có chức năng kết bạn.
    - chức năng này hiển thị ra một danh sách yêu cầu đã gửi đến bạn thông qua 1 listview, và mỗi phần tử của listview có 1 icon ảnh của người gủi yêu cầu, thông tin, tên, nút đồng ý và không đồng ý.
    - khi chọn vào image sẽ làm 1 cái gì đó, chạm vào button thì remove item đó khỏi listview ...


    [img]data/attachments/16/16458-fbad73d1bd9ad3f29fe5760a44e304ee.jpg[/img]



    [img]data/attachments/16/16459-30ef9528d2bdc672452a0acf600e3118.jpg[/img]

    4) hướng dẫn code:
    - res/values/strings.xml


    Mã nguồn PHP:
    [color=#000000]
    [/color][color=#007700]<?[/color][color=#0000bb]xml version[/color][color=#007700]=[/color][color=#dd0000]"1.0" [/color][color=#0000bb]encoding[/color][color=#007700]=[/color][color=#dd0000]"utf-8"[/color][color=#0000bb]?>[/color]<resources> <string name="parsed_data">http://android.vn
    hướng dẫn bởi thanhlong90.it</string> <string name="app_name">demoandroid</string> <string name="action_settings">settings</string> <string name="hello_world">hello world!</string> </resources>
    - res/adapter_listfriend.xml


    Mã nguồn PHP:
    [color=#000000]
    [/color][color=#007700]<?[/color][color=#0000bb]xml version[/color][color=#007700]=[/color][color=#dd0000]"1.0" [/color][color=#0000bb]encoding[/color][color=#007700]=[/color][color=#dd0000]"utf-8"[/color][color=#0000bb]?>[/color]<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/lineitem" android:layout_width="match_parent" android:layout_height="wrap_content" android:weightsum="7" > <imageview android:id="@+id/imageview" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentdescription="@string/hello_world" android:src="@drawable/ic_launcher" /> <linearlayout android:layout_weight="4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <textview android:id="@+id/textline" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginleft="10dip" android:maxlines="1" android:maxlength="10" android:text="0123456788aaaaaaaaaa" android:textsize="15dp" /> <textview android:id="@+id/textline2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textline" android:layout_marginleft="10dip" android:text="bbbbbbbbbbbb" android:textsize="10dp" /> </linearlayout> <linearlayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingright="1dp" android:layout_weight="2" android:orientation="horizontal" > <button android:id="@+id/buttonline" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentright="true" android:gravity="center" android:text="đồng ý" /> <button android:id="@+id/dbuttonline" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignparentright="true" android:gravity="center" android:text="hủy" /> </linearlayout> </linearlayout>
    - activity_main.xml


    Mã nguồn PHP:
    [color=#000000]
    [/color][color=#007700]<[/color][color=#0000bb]linearlayout xmlns[/color][color=#007700]:[/color][color=#0000bb]android[/color][color=#007700]=[/color][color=#dd0000]"http://schemas.android.com/apk/res/android" [/color][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]tools[/color][color=#007700]=[/color][color=#dd0000]"http://schemas.android.com/tools" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"match_parent" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"match_parent" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]orientation[/color][color=#007700]=[/color][color=#dd0000]"vertical" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]paddingbottom[/color][color=#007700]=[/color][color=#dd0000]"@dimen/activity_vertical_margin" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]paddingleft[/color][color=#007700]=[/color][color=#dd0000]"@dimen/activity_horizontal_margin" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]paddingright[/color][color=#007700]=[/color][color=#dd0000]"@dimen/activity_horizontal_margin" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]paddingtop[/color][color=#007700]=[/color][color=#dd0000]"@dimen/activity_vertical_margin" [/color][color=#0000bb]tools[/color][color=#007700]:[/color][color=#0000bb]context[/color][color=#007700]=[/color][color=#dd0000]".mainactivity" [/color][color=#007700]> <[/color][color=#0000bb]textview android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"match_parent" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_margintop[/color][color=#007700]=[/color][color=#dd0000]"5dp" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]gravity[/color][color=#007700]=[/color][color=#dd0000]"center" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]text[/color][color=#007700]=[/color][color=#dd0000]"@string/parsed_data" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]textappearance[/color][color=#007700]=[/color][color=#dd0000]"?android:attr/textappearancemedium" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]textstyle[/color][color=#007700]=[/color][color=#dd0000]"bold" [/color][color=#007700]/> <[/color][color=#0000bb]listview android[/color][color=#007700]:[/color][color=#0000bb]id[/color][color=#007700]=[/color][color=#dd0000]"@+id/mylist" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"fill_parent" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"fill_parent" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_margintop[/color][color=#007700]=[/color][color=#dd0000]"5dip" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]cachecolorhint[/color][color=#007700]=[/color][color=#dd0000]"#00000000" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]drawselectorontop[/color][color=#007700]=[/color][color=#dd0000]"false" [/color][color=#007700]/> </[/color][color=#0000bb]linearlayout[/color][color=#007700]>[/color] 
    - mainactivity.java


    Mã nguồn PHP:
    [color=#000000]
    package android[/color][color=#007700].[/color][color=#0000bb]vn[/color][color=#007700]; [/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]os[/color][color=#007700].[/color][color=#0000bb]bundle[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]app[/color][color=#007700].[/color][color=#0000bb]activity[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]context[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]util[/color][color=#007700].[/color][color=#0000bb]log[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]layoutinflater[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]viewgroup[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]onclicklistener[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]baseadapter[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]button[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]filter[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]filterable[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]imageview[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]linearlayout[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]listview[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]textview[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]toast[/color][color=#007700]; public class [/color][color=#0000bb]mainactivity [/color][color=#007700]extends [/color][color=#0000bb]activity [/color][color=#007700]{ private static [/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]data [/color][color=#007700]= new [/color][color=#0000bb]string[/color][color=#007700][] { [/color][color=#dd0000]"data0"[/color][color=#007700], [/color][color=#dd0000]"data1"[/color][color=#007700], [/color][color=#dd0000]"data2"[/color][color=#007700], [/color][color=#dd0000]"data3"[/color][color=#007700], [/color][color=#dd0000]"data4" [/color][color=#007700], [/color][color=#dd0000]"data5"[/color][color=#007700], [/color][color=#dd0000]"data6"[/color][color=#007700], [/color][color=#dd0000]"data7"[/color][color=#007700], [/color][color=#dd0000]"data8" [/color][color=#007700]}; private static [/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]loinhan [/color][color=#007700]= new [/color][color=#0000bb]string[/color][color=#007700][] {[/color][color=#dd0000]"loinhan0"[/color][color=#007700], [/color][color=#dd0000]"loinhan1"[/color][color=#007700], [/color][color=#dd0000]"loinhan2"[/color][color=#007700], [/color][color=#dd0000]"loinhan3"[/color][color=#007700], [/color][color=#dd0000]"loinhan4"[/color][color=#007700], [/color][color=#dd0000]"loinhan5"[/color][color=#007700], [/color][color=#dd0000]"loinhan6"[/color][color=#007700], [/color][color=#dd0000]"loinhan7"[/color][color=#007700], [/color][color=#dd0000]"loinhan8"[/color][color=#007700]}; private [/color][color=#0000bb]efficientadapter adap[/color][color=#007700]; public [/color][color=#0000bb]listview lv[/color][color=#007700]; @[/color][color=#0000bb]override [/color][color=#007700]protected [/color][color=#0000bb]void oncreate[/color][color=#007700]([/color][color=#0000bb]bundle savedinstancestate[/color][color=#007700]) { [/color][color=#0000bb]super[/color][color=#007700].[/color][color=#0000bb]oncreate[/color][color=#007700]([/color][color=#0000bb]savedinstancestate[/color][color=#007700]); [/color][color=#0000bb]setcontentview[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]layout[/color][color=#007700].[/color][color=#0000bb]activity_main[/color][color=#007700]); [/color][color=#0000bb]lv [/color][color=#007700]= ([/color][color=#0000bb]listview[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]mylist[/color][color=#007700]); [/color][color=#0000bb]adap [/color][color=#007700]= new [/color][color=#0000bb]efficientadapter[/color][color=#007700]([/color][color=#0000bb]this[/color][color=#007700]); [/color][color=#0000bb]lv[/color][color=#007700].[/color][color=#0000bb]setadapter[/color][color=#007700]([/color][color=#0000bb]adap[/color][color=#007700]); } public static class [/color][color=#0000bb]efficientadapter [/color][color=#007700]extends [/color][color=#0000bb]baseadapter [/color][color=#007700]implements [/color][color=#0000bb]filterable[/color][color=#007700]{ private [/color][color=#0000bb]layoutinflater minflater[/color][color=#007700]; private [/color][color=#0000bb]context context[/color][color=#007700]; public [/color][color=#0000bb]efficientadapter[/color][color=#007700]([/color][color=#0000bb]context context[/color][color=#007700]) { [/color][color=#0000bb]minflater [/color][color=#007700]= [/color][color=#0000bb]layoutinflater[/color][color=#007700].[/color][color=#0000bb]from[/color][color=#007700]([/color][color=#0000bb]context[/color][color=#007700]); [/color][color=#0000bb]this[/color][color=#007700].[/color][color=#0000bb]context [/color][color=#007700]= [/color][color=#0000bb]context[/color][color=#007700]; } [/color][color=#ff8000]//thực hiện công việc trên view đang sử dụng [/color][color=#007700]public [/color][color=#0000bb]view getview[/color][color=#007700](final [/color][color=#0000bb]int position[/color][color=#007700], [/color][color=#0000bb]view convertview[/color][color=#007700],[/color][color=#0000bb]viewgroup parent[/color][color=#007700]) { final [/color][color=#0000bb]viewholder holder[/color][color=#007700]; [/color][color=#ff8000]//nếu không tồn tại convertview [/color][color=#007700]if ([/color][color=#0000bb]convertview [/color][color=#007700]== [/color][color=#0000bb]null[/color][color=#007700]) { [/color][color=#0000bb]convertview [/color][color=#007700]= [/color][color=#0000bb]minflater[/color][color=#007700].[/color][color=#0000bb]inflate[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]layout[/color][color=#007700].[/color][color=#0000bb]adapter_listfriend[/color][color=#007700], [/color][color=#0000bb]null[/color][color=#007700]); [/color][color=#0000bb]holder [/color][color=#007700]= new [/color][color=#0000bb]viewholder[/color][color=#007700](); [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]linearlayout [/color][color=#007700]= ([/color][color=#0000bb]linearlayout[/color][color=#007700]) [/color][color=#0000bb]convertview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]lineitem[/color][color=#007700]); [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]icon [/color][color=#007700]= ([/color][color=#0000bb]imageview[/color][color=#007700]) [/color][color=#0000bb]convertview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]imageview[/color][color=#007700]); [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]textline [/color][color=#007700]= ([/color][color=#0000bb]textview[/color][color=#007700]) [/color][color=#0000bb]convertview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]textline[/color][color=#007700]); [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]buttondongy [/color][color=#007700]= ([/color][color=#0000bb]button[/color][color=#007700]) [/color][color=#0000bb]convertview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]buttonline[/color][color=#007700]); [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]buttonhuy [/color][color=#007700]= ([/color][color=#0000bb]button[/color][color=#007700]) [/color][color=#0000bb]convertview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]dbuttonline[/color][color=#007700]); [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]textline2 [/color][color=#007700]= ([/color][color=#0000bb]textview[/color][color=#007700]) [/color][color=#0000bb]convertview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]textline2[/color][color=#007700]); [/color][color=#ff8000]//đăng ký lắng nghe khi click vào view này [/color][color=#0000bb]convertview[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view v[/color][color=#007700]) { [/color][color=#0000bb]log[/color][color=#007700].[/color][color=#0000bb]v[/color][color=#007700]([/color][color=#dd0000]""[/color][color=#007700], [/color][color=#dd0000]"aaaaaaaaaaaaaaaaaaaaaaaaaaaaa"[/color][color=#007700]); } }); [/color][color=#ff8000]//đăng ký lắng nghe khi click vào icon của view này [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]icon[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { private [/color][color=#0000bb]int pos [/color][color=#007700]= [/color][color=#0000bb]position[/color][color=#007700]; public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view v[/color][color=#007700]) { [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]maketext[/color][color=#007700]([/color][color=#0000bb]context[/color][color=#007700], [/color][color=#dd0000]"đã đã click vào icon " [/color][color=#007700]+ [/color][color=#0000bb]data[/color][color=#007700][[/color][color=#0000bb]pos[/color][color=#007700]], [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]length_short[/color][color=#007700]).[/color][color=#0000bb]show[/color][color=#007700](); } }); [/color][color=#ff8000]//đăng ký lắng nghe khi click vào button đồng ý của view này [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]buttondongy[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { private [/color][color=#0000bb]int pos [/color][color=#007700]= [/color][color=#0000bb]position[/color][color=#007700]; public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view v[/color][color=#007700]) { [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]linearlayout[/color][color=#007700].[/color][color=#0000bb]removeallviews[/color][color=#007700](); [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]maketext[/color][color=#007700]([/color][color=#0000bb]context[/color][color=#007700], [/color][color=#dd0000]"đã đồng ý kết bạn với " [/color][color=#007700]+ [/color][color=#0000bb]data[/color][color=#007700][[/color][color=#0000bb]pos[/color][color=#007700]], [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]length_short[/color][color=#007700]).[/color][color=#0000bb]show[/color][color=#007700](); } }); [/color][color=#ff8000]//đăng ký lắng nghe khi click vào button hủy của view này [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]buttonhuy[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { private [/color][color=#0000bb]int pos [/color][color=#007700]= [/color][color=#0000bb]position[/color][color=#007700]; public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view v[/color][color=#007700]) { [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]linearlayout[/color][color=#007700].[/color][color=#0000bb]removeallviews[/color][color=#007700](); [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]maketext[/color][color=#007700]([/color][color=#0000bb]context[/color][color=#007700], [/color][color=#dd0000]"không đồng ý kết bạn với" [/color][color=#007700]+ [/color][color=#0000bb]data[/color][color=#007700][[/color][color=#0000bb]pos[/color][color=#007700]], [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]length_short[/color][color=#007700]).[/color][color=#0000bb]show[/color][color=#007700](); } }); [/color][color=#0000bb]convertview[/color][color=#007700].[/color][color=#0000bb]settag[/color][color=#007700]([/color][color=#0000bb]holder[/color][color=#007700]); } else { [/color][color=#0000bb]holder [/color][color=#007700]= ([/color][color=#0000bb]viewholder[/color][color=#007700]) [/color][color=#0000bb]convertview[/color][color=#007700].[/color][color=#0000bb]gettag[/color][color=#007700](); } [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]textline[/color][color=#007700].[/color][color=#0000bb]settext[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700].[/color][color=#0000bb]valueof[/color][color=#007700]([/color][color=#0000bb]position[/color][color=#007700]+[/color][color=#0000bb]1[/color][color=#007700])+[/color][color=#dd0000]". "[/color][color=#007700]+[/color][color=#0000bb]data[/color][color=#007700][[/color][color=#0000bb]position[/color][color=#007700]]); [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]textline2[/color][color=#007700].[/color][color=#0000bb]settext[/color][color=#007700]([/color][color=#dd0000]"lời nhắn: "[/color][color=#007700]+[/color][color=#0000bb]loinhan[/color][color=#007700][[/color][color=#0000bb]position[/color][color=#007700]]); return [/color][color=#0000bb]convertview[/color][color=#007700]; } static class [/color][color=#0000bb]viewholder [/color][color=#007700]{ [/color][color=#0000bb]linearlayout linearlayout[/color][color=#007700]; [/color][color=#0000bb]imageview icon[/color][color=#007700]; [/color][color=#0000bb]textview textline[/color][color=#007700]; [/color][color=#0000bb]textview textline2[/color][color=#007700]; [/color][color=#0000bb]button buttondongy[/color][color=#007700]; [/color][color=#0000bb]button buttonhuy[/color][color=#007700]; } @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]filter getfilter[/color][color=#007700]() { return [/color][color=#0000bb]null[/color][color=#007700]; } @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]long getitemid[/color][color=#007700]([/color][color=#0000bb]int position[/color][color=#007700]) { return [/color][color=#0000bb]0[/color][color=#007700]; } @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]int getcount[/color][color=#007700]() { return [/color][color=#0000bb]data[/color][color=#007700].[/color][color=#0000bb]length[/color][color=#007700]; } @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]object getitem[/color][color=#007700]([/color][color=#0000bb]int position[/color][color=#007700]) { return [/color][color=#0000bb]data[/color][color=#007700][[/color][color=#0000bb]position[/color][color=#007700]]; } } }[/color] 
    5) video kết quả demo:


    bài viết đăng lên diễn đàn khác vui lòng ghi rõ nguồn: android.vn
    pass giải nén: http://android.vn
    support: thanhlong90.it@gmail.com
    chúc các bạn thành công!

  2. #2
    Ngày tham gia
    Feb 2015
    Bài viết
    0
    anh long ơi !! cho em hoi làm sao để mở 1 cái activity mới khi mình click vào item ạ ??

  3. #3
    Ngày tham gia
    Apr 2016
    Bài viết
    0
    Mã nguồn PHP:
    [color=#000000]
    [/color][color=#ff8000]//đăng ký lắng nghe khi click vào button đồng ý của view này [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]buttondongy[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { private [/color][color=#0000bb]int pos [/color][color=#007700]= [/color][color=#0000bb]position[/color][color=#007700]; public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view v[/color][color=#007700]) { [/color][color=#0000bb]holder[/color][color=#007700].[/color][color=#0000bb]linearlayout[/color][color=#007700].[/color][color=#0000bb]removeallviews[/color][color=#007700](); [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]maketext[/color][color=#007700]([/color][color=#0000bb]context[/color][color=#007700], [/color][color=#dd0000]"đã đồng ý kết bạn với " [/color][color=#007700]+ [/color][color=#0000bb]data[/color][color=#007700][[/color][color=#0000bb]pos[/color][color=#007700]], [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]length_short[/color][color=#007700]).[/color][color=#0000bb]show[/color][color=#007700](); } });[/color] 
    trong đoạn source này em kiểm tra:
    if pos = 0 thì khởi tạo activity0;
    if pos = 1 thì khởi tạo activity1;
    if pos = 2 thì khởi tạo activity2; ...

  4. #4
    Ngày tham gia
    Apr 2016
    Bài viết
    0
    em hiểu nhưng em k khởi tạo đc activity mới trong cái class này ạ !!

    dùng câu lệnh : intent intent=new intent(context,frienddetail.class);

    startactivity(intent);

    thì nó báo lỗi ở dòng 2 đó ạ !! k thể dùng startactivity ở đây ạ ???

  5. #5
    Ngày tham gia
    Feb 2015
    Bài viết
    0
    frienddetail.class chắc là bạn quên chưa đăng ký trong manifest!

  6. #6
    Ngày tham gia
    Apr 2016
    Bài viết
    0
    k ạ !! vì cái này nó nằm ngoài main class nên nó k hiểu cái lệnh startactivity(intent); ấy ạ ??

  7. #7
    Ngày tham gia
    Jan 2015
    Bài viết
    0
    ((activity) context.startactivity(intent));

  8. #8
    Ngày tham gia
    Jul 2015
    Bài viết
    0
    bài này lỗi trầm trọng. nên cân nhắc trước khi xem.

    thử cho cái mảng khoảng 20 phần tử trở lên sẽ thấy.

  9. #9
    Ngày tham gia
    May 2014
    Bài viết
    0
    chào bạn thien phu, bạn vui lòng gửi source lỗi của bạn cho long kiểm tra nhé. bài này bao nhiêu phần từ cũng đc cả. long chỉ sợ bạn chỉnh sửa sai thôi!

  10. #10
    Ngày tham gia
    Apr 2016
    Bài viết
    0
    cuối cùng cũng chịu thua rồi hả bạn (tại thấy bạn nói gửi code và tôi cũng đã gửi rất rất lâu mà vẫn không thấy tín hiệu gì) dù sao cũng biết chắc là mình không chỉnh sửa gì sai. và cũng cảm ơn bạn. nếu có thể bạn nên xóa topic này để người khác vào họ lại bắt lỗi nữa

Trang 1 của 3 123 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •