Trang 2 của 3 Đầu tiênĐầu tiên 123 CuốiCuối
Kết quả 11 đến 20 của 23
  1. #11
    Ngày tham gia
    May 2015
    Bài viết
    0
    - mình chưa nghĩ ra việc xử lý click 2 lần, ý mình là chỉ được phép click 1 lần thôi, k được lưu trùng dữ liệu.

    - nếu dùng position ở nghe gan day thì bên playlist sẽ lấy cặp key/value như thế nào.
    ví dụ mình kick item ở position thứ 3 thì sẽ save được cặp key ("title" + position, title). vậy bên playlist sẽ load như thế nào??

    - ý bạn là tạo editor ở bên trong hàm onclick() đó hả?

  2. #12
    Ngày tham gia
    May 2015
    Bài viết
    0
    - mình nghĩ nếu như vậy thì bạn dùng cơ sở dữ liệu sẽ hay hơn
    - theo hướng của bạn, mình nghĩ ra một cách "củ chuối" như này:
    + bạn lưu thêm 1 key/value kiểu string nữa, để lưu vị trí các item nghe gần đây.
    cách lưu như sau: mỗi lần click vào 1 item (ko trùng nhé), bạn lấy lại giá trị của key này (giả sử đặt là recent), sau đó bạn ghép thêm vị trí của item mới vào cuối giá trị này (là 1 chuỗi dang 1,2,5,7 chẳng hạn)
    + bên recent playlist, trước hết bạn cũng lấy giá trị của key "recent" ra, phân tích chuỗi để lấy ra được vị trí đã được click trước đó, lúc này sẽ là các item ở vị trí 1,2,5,7 chẳng hạn
    thực sự với shareprerence mà để xử lý những "quan hệ" như này thì nó ko tối ưu cho lắm, mình nghĩ bạn nên chuyển sang dùng csdl sẽ hay hơn, dễ xử lý hơn, vì chức năng của bạn có thể có lúc nào đó bạn sẽ muốn mở rộng thêm

    tư tưởng của mình "hơi chuối" nhóe, nhưng mình chưa làm kiểu này nên cũng chưa nghĩ ra cách nào tối ưu, mong giúp được bạn hoặc gợi ra 1 hướng mới cho bạn

  3. #13
    Ngày tham gia
    Mar 2014
    Bài viết
    0
    cảm ơn gabk rất nhièu. mình sẽ cố gắng 1 chút nữa với sharedpreference xem tnào. nếu không chắc cũng sẽ chuyển qua csdl thôi.
    mình k hiểu 1 chút là bên playlist sẽ lấy key "recent" phù hợp với bên nghe gần đây như thế nào? 2 biến string này ở 2 activity # nhau mà.

  4. #14
    Ngày tham gia
    Feb 2015
    Bài viết
    0
    mình ví dụ nhé, ở cái list cho phép chọn item, bạn chọn 3 item 1,2,3, các bước làm như sau:
    1- tạo biến string dạng itemstr = "1,2,3", put vào editor kiểu editor.put("recent",itemstr)
    2- lưu các giá trị của các item được chọn như sau (minh họa với titile thôi nhé):
    editor.put("title " + 1,"abc");
    editor.put("title " + 2,"def");
    editor.put("title " + 3,"ghe");
    sau này, mõi khi click vào 1 item nào đó, giả sử 4, bạn lại lấy ra cái chuỗi "1,2,3" này vào và cộng thêm giá trị 4 vào thành "1,2,3,4", sau đó put lại
    3- khi lấy ra, lấy recent trước, mục đích là lấy được cái số để thêm vào sau cái chữ "title " + ->> để có được cái key mình sẽ lấy giá trị.
    lấy key recent, được chuỗi là "1,2,3", phân tích chuỗi được 3 giá trị "1", "2", "3"
    các key lúc này cần lấy là "title "+ "1" (tương tự +"2", +"3")
    làm như này bạn mới biết được cái key nào lưu các giá trị được nghe gần đây.

    bạn hiểu ý mình không? xin lỗi bạn vì khả năng giải thích của mình nó hơi kém

  5. #15
    Ngày tham gia
    Aug 2015
    Bài viết
    1
    thanks gabk nhiều nhé. mình cũng đang thực hiện theo hướng ý tưởng của bạn

  6. #16
    Ngày tham gia
    Apr 2015
    Bài viết
    0
    mình đã thực hiện được. nhưng ngặt 1 nỗi là chưa xử lí được việc click 2 lần vào 1 button.

  7. #17
    Trích dẫn Gửi bởi dr.v
    mình đã thực hiện được. nhưng ngặt 1 nỗi là chưa xử lí được việc click 2 lần vào 1 button.
    - cái này thì mình nghĩ là bạn lại lấy cái recent ra, sau đó kiểm tra tham số position (vị trí của item được click) xem có trong cái recent đó ko, nếu có thì thôi ko làm gì nữa, còn nếu không có mới thực hiện như bình thường. đó là cách thứ nhất.
    - cách thứ hai là trong lớp rowitem bạn thêm 1 trường boolean gọi tạm là ischoose, nếu 1 item được chọn rồi thì đặt giá trị này bằng true, còn ko vẫn là false. để làm kiểu này thì lúc get giá trị bạn phải để là final thì trong onclick mới dùng được
    final rowitem rowitem = getitem(position);
    trong hàm onclick, kiểm tra nếu rowitem.ischoose là true thì thôi, ko làm gì nữa, ngược lại thì thực hiện như bình thường

    mình nghĩ cách 2 có vẻ hay hơn, bạn thử xem nhé

  8. #18
    Ngày tham gia
    Mar 2014
    Bài viết
    3
    - mình nghĩ cách 1 khó thực hiện vì trong hàm getview nó thực hiện load các item đồng thời nên rất khó xác định được position của item. trong code mình đã toast cái position của item khi click button thì cái nào cũng ra giá trị 0.

    - cách 2 cũng có thể là tốt hơn. nhưng mình thắc mắc là ở đâyy mình click button thì liệu có nhận ra được item nào click k nhỉ.

  9. #19
    Ngày tham gia
    Mar 2014
    Đang ở
    Hanoi
    Bài viết
    0
    nhận được cả mà, bởi vì button là 1 thành phần của view mà thôi. cái này mình cũng làm nhiều rồi mà

  10. #20
    Ngày tham gia
    Mar 2015
    Bài viết
    0
    Trích dẫn Gửi bởi dr.v
    - mình nghĩ cách 1 khó thực hiện vì trong hàm getview nó thực hiện load các item đồng thời nên rất khó xác định được position của item. trong code mình đã toast cái position của item khi click button thì cái nào cũng ra giá trị 0.

    - cách 2 cũng có thể là tốt hơn. nhưng mình thắc mắc là ở đâyy mình click button thì liệu có nhận ra được item nào click k nhỉ.
    làm gì có chuyện mà click vào button nào cũng ra position = 0. tình huống như của bạn mình cũng làm nhiều rồi, trong tên hàm, thay vì mặc định nó là "int position", bạn thay lại là "final int position" hoặc tạo 1 biến final trong hàm và gán giá trị cho nó bằng position.

Trang 2 của 3 Đầu tiênĐầu tiên 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
  •