رفتن به مطلب
  • 0

مشکل با دیافت مقدار لیست ویو از دیتابیس و تنظیم ارتفاع


faxmodem

سوال

من کلا با این لیست ویو مشکل دارم :crazy:

 

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

 

مشکل اولم اینه که وقتی برنامه اجرا میکنم گزینه آخری لیست ویو توی ماشین نمایش داده نمیشه تغییر سایز هم دادم باز هم نمایش داده نشد ؟!! نیاز به اسکرول ویو داره ؟!!! چجوری بهش اضافه کنم ؟؟

 

 

مشکل دوم اینه که من میخوام مثلا وقتی روی آیتم اول که علی هستش کلیک کردم بره و اکتیویتی علی را باز کنه ؟!!!!

چون تعداد زیاد هستش حدود 100 آیتم دارم از چه روشی اسفاده کنم ؟!!!!! کداش چجوریه ؟

Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.

	Private EditText1 As EditText
	Private btnserach As Button
	Private ListView1 As ListView
	Dim lbl As Label
	Dim cur1 As Cursor
	Dim sql As SQL
	
	
	Private ScrollView1 As ScrollView
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	Activity.LoadLayout("Main")
	ListView1.Initialize("listview1")
	Dim fnt As Typeface
	fnt = fnt.LoadFromAssets("b yekan.ttf")
	ListView1.TwoLinesLayout.Label.Typeface = fnt
 	lbl = ListView1.TwoLinesLayout.Label
    lbl.Gravity=Gravity.CENTER
	ListView1.TwoLinesLayout.SecondLabel.Gravity = Gravity.CENTER
	ListView1.TwoLinesLayout.SecondLabel.TextSize = 14
	ListView1.TwoLinesLayout.SecondLabel.Typeface = fnt
	If File.Exists(File.DirInternal,"testdb.db") = False Then
		File.Copy(File.DirAssets,"testdb.db",File.DirInternal,"testdb.db")
	End If
	
	If sql.IsInitialized = False Then
	 	sql.Initialize(File.DirInternal,"testdb.db",True)
	End If
		
	cur1 = sql.ExecQuery("SELECT * FROM tbl")
	For i = 0 To cur1.RowCount - 1
		cur1.Position = i
		ListView1.AddTwoLines(cur1.GetString("name"),cur1.GetString("dec"))
	Next
	
	Activity.AddView(ListView1,0,15%y,100%x,100%y)

End Sub

Sub EditText1_TextChanged (Old As String, New As String)

End Sub


Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub ListView1_ItemClick (Position As Int, Value As Object)
		
		Dim item As Int
		If 	item = cur1.GetString("name") Then
		cur1=sql.ExecQuery("SELECT * FROM tbl like "&cur1.GetString("name"))
		
		Select item
		
		Case cur1.GetString("علی")
		ToastMessageShow(" آیتم 1 کلیک شد",True)
		End Select
			
		
		End If

اینم کدی که نوشتم فقط قسمت کلیک مشکل دارم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

1 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

من کلا با این لیست ویو مشکل دارم :crazy:

 

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

 

مشکل اولم اینه که وقتی برنامه اجرا میکنم گزینه آخری لیست ویو توی ماشین نمایش داده نمیشه تغییر سایز هم دادم باز هم نمایش داده نشد ؟!! نیاز به اسکرول ویو داره ؟!!! چجوری بهش اضافه کنم ؟؟

 

 

مشکل دوم اینه که من میخوام مثلا وقتی روی آیتم اول که علی هستش کلیک کردم بره و اکتیویتی علی را باز کنه ؟!!!!

چون تعداد زیاد هستش حدود 100 آیتم دارم از چه روشی اسفاده کنم ؟!!!!! کداش چجوریه ؟

Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.

	Private EditText1 As EditText
	Private btnserach As Button
	Private ListView1 As ListView
	Dim lbl As Label
	Dim cur1 As Cursor
	Dim sql As SQL
	
	
	Private ScrollView1 As ScrollView
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	Activity.LoadLayout("Main")
	ListView1.Initialize("listview1")
	Dim fnt As Typeface
	fnt = fnt.LoadFromAssets("b yekan.ttf")
	ListView1.TwoLinesLayout.Label.Typeface = fnt
 	lbl = ListView1.TwoLinesLayout.Label
    lbl.Gravity=Gravity.CENTER
	ListView1.TwoLinesLayout.SecondLabel.Gravity = Gravity.CENTER
	ListView1.TwoLinesLayout.SecondLabel.TextSize = 14
	ListView1.TwoLinesLayout.SecondLabel.Typeface = fnt
	If File.Exists(File.DirInternal,"testdb.db") = False Then
		File.Copy(File.DirAssets,"testdb.db",File.DirInternal,"testdb.db")
	End If
	
	If sql.IsInitialized = False Then
	 	sql.Initialize(File.DirInternal,"testdb.db",True)
	End If
		
	cur1 = sql.ExecQuery("SELECT * FROM tbl")
	For i = 0 To cur1.RowCount - 1
		cur1.Position = i
		ListView1.AddTwoLines(cur1.GetString("name"),cur1.GetString("dec"))
	Next
	
	Activity.AddView(ListView1,0,15%y,100%x,100%y)

End Sub

Sub EditText1_TextChanged (Old As String, New As String)

End Sub


Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub ListView1_ItemClick (Position As Int, Value As Object)
		
		Dim item As Int
		If 	item = cur1.GetString("name") Then
		cur1=sql.ExecQuery("SELECT * FROM tbl like "&cur1.GetString("name"))
		
		Select item
		
		Case cur1.GetString("علی")
		ToastMessageShow(" آیتم 1 کلیک شد",True)
		End Select
			
		
		End If

اینم کدی که نوشتم فقط قسمت کلیک مشکل دارم

در خصوص مشکل کلیک کردن باید بگم که باید از

listview1.AddTwoLinesAndBitmap2("دانلود","",LoadBitmap(File.DirAssets,"Download.png"),1)

استفاده کنی و همونطور که میبینی آخر کار یه مقداری بهش میدی مثلا برای سطر 1 مقدار 1 برای سطر 2 مقدار 2 و الی اخر بعد توی رویداد کلیک از دستور زیر استفاده کن

Sub listview1_ItemClick(position As Int,value As Object)
	Select value
		Case 1
			StartActivity("activity1")
		Case 2
			StartActivity("activity2")
		Case 3
			StartActivity("activity3")
		Case 4
			StartActivity("activity4")
			
	End Select
End Sub

موفق باشی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...