Ultimate list view آیتم کلیک

سوال

سلام وقت بخیر.

بنده یه لیستی رو از دیتابیس می‌گیرم و با آلتیمیت لیست‌ویو نمایش می‌دم. حالا می‌خوام رو هر یک عناوین کلیک که شد بره به یه اکتیویتی دیگه و متن اون عنوان رو نشون بده.

تو لیست ویو خود بیسیک راحته این کار برام، اما انگار اون روش تو رویداد آیتم کلیک آلتیمیت کار نمی‌کنه چون رو هر عنوانی که می‌زنم متن یه عنوان بالاتر از خودش رو نشون می‌ده، مثلا وقتی رو یه عنوان با Id 2 می‌زنم متن Id 1 رو نشون می‌ده.

لطفا راهنمایی بفرمایید که چه کدهایی می‌خواد.

حل شد 0
, 2020-02-24T05:21:17+03:30 4 پاسخ کاربر تازه 0

پاسخ ها ( 4 )

    0
    2020-02-25T00:52:02+03:30

    سلام

    کدی چیزی بذار تا ببینم چه طوری نوشتیش

    0
    2020-02-25T07:26:20+03:30

    سلام

    تو اکتیویتی Matn یه متغیر سراسری با نام itemclick تعریف کردم و مانند زیر برابر پوزیشن قرارش دادم

    حتی ItemID رو هم امتحان کردم اما همونطوره

    Sub ulv_ItemClick(ItemID As Long, Position As Int, ClickedPanel As Panel)
    
    	cr.Position = Position
    	Matn.itemclick = Position
    
    	StartActivity(Matn)
    	
    End Sub

    تو اکتیویتی Matn هم کدهای زیر رو نوشتم

    Activity.LoadLayout("Lmatn")
    	
    	Main.sql.Initialize(File.DirInternal, "data.db", True)
    	Main.cr = Main.sql.ExecQuery("select content FROM book WHERE id="&itemclick)
    	
    	For i = 0 To Main.cr.RowCount-1
    		Main.cr.Position = 0
    		Label1.Text = Main.cr.GetString("content")
    	Next

     

      0
      2020-02-25T16:42:08+03:30

      حلقه تو اینطوری بنویس

      دوباره تست کن

      	For i = 0 To Main.cr.RowCount-1
      		Main.cr.Position = i
      		Label1.Text = Main.cr.GetString("content")
      	Next
    0
    2020-02-25T19:12:02+03:30

    شما عناوین رو داری با لیبل نشون میدی دیگه؟!

    خب، این طوری توی سایت آیتم کلیک بنویس

    Dim lbl As Label=ClickedPanel.GetView(0)

     

    0
    2020-02-25T20:52:45+03:30

    سلام، تشکر از راهنمایی.

    متاسفانه این کدها هم کار نکرد بازم مثل قبل هستش.

    یه فایل پیوست کردم لطفا یه نگاهی بندازید.امیدوارم بتونید درستش کنید. بازم ممنون


    فایل پیوست
      0
      2020-02-26T14:18:10+03:30

      فایلتو دیدم.

      این خطو این شکلی بنویس

      Matn.itemclick = Position+1

       

      بهترین پاسخ
        0
        2020-02-26T15:28:00+03:30

        متاسفانه این روش اصولی نیست، قبلاً انجام دادم.

        چون وقتی متن رو نشون می ده و دوباره برمی گردی به لیست و اسکرول می کنی برنامه می پره بیرون و

        error می ده. انگار درست بشو نیست

          0
          2020-02-26T21:30:44+03:30

          من که این کارو کردم درست شد.

          شما میگی یکی قبل تر  رو اجرا میکنه دیگه

          کافیه پوزیشن رو به علاوه یک کنی تا همونی رو که میخوای اجرا بشه.

            0
            2020-02-28T06:21:41+03:30

            بله الان متن رو درست نشون می‌ده، اما یه مشکل دیگه هست، همونطور که گفتم وقتی برمی‌گردی به لیست و اسکرول می‌کنی برنامه می‌پره بیرون و فورس کلوز می‌شه.

      1
      2020-02-29T17:05:28+03:30

ارسال یک پاسخ