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

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


mahfelsoft

سوال

سلام

دوستان ببینید من اومدم یه دیتابیس ساختم و یه متونی رو توش نوشتم . بعد توی اکتیویتی چند تا دکمه گذاشتم و با تگ و سندر کد دادم که روی هر دکمه کلیک شد یه متنی رو از دیتابیس بگیره

اما وقتی روی دکمه ها کلیک میشه متن ها درست نمایش داده نمیشه . بعضی از متن ها رو اصلا نمایش نمیده بعضی ها نصفه و اصلا هم اسکرول نمیشه . ببینید کدها اینطور هست :

sub globals
Dim pnlmatn As Panel
Dim sv As ScrollView
Dim su As StringUtils
dim m1 as button
dim m2 as button
end sub

Sub Activity_Create(FirstTime As Boolean)
m1.tag = cur.GetString("matn1")
m2.tag = cur.GetString("matn1")
pnlmatn.Initialize("pnlmatn")
Activity.AddView(pnlmatn,2%x,72%y,96%x,20%y)
Dim cd As ColorDrawable
cd.Initialize2(Colors.ARGB(255,255, 241, 205),0,7,Colors.rgb(140, 105, 0))
pnlmatn.Background = cd
sv.Initialize(500dip)
Activity.AddView(sv,3%x,72.5%y,94%x,18%y)
lbl1.Initialize("lbl1")
sv.Panel.addview(lbl1,3%x,0,88%x,100%y)
lbl1.Height=su.MeasureMultilineTextHeight(lbl1,lbl1.Text)
sv.Panel.Height=su.MeasureMultilineTextHeight(lbl1,lbl1.Text)
end sub

Sub m2_Click
	Dim iz As Button
	iz = Sender
	lbl1.Text = iz.Tag
End Sub
Sub m1_Click
	Dim iz As Button
	iz = Sender
	lbl1.Text = iz.Tag
End Sub

من دیگه کدهای فراخونی دیتابیس رو اینجا ننوشتم که شلوغ نشه . ولی توی کدهای خودم نوشتم . دوستان لطف کنی راهنمایی کنید ممنون

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

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

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

شما کدی که برای اسکرول نوشتی رو بذار اینکه همه میدونن چه جوریه

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

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

sv.Initialize(500dip)
Activity.AddView(sv,3%x,72.5%y,94%x,18%y)
lbl1.Initialize("lbl1")
sv.Panel.addview(lbl1,3%x,0,88%x,100%y)
lbl1.Height=su.MeasureMultilineTextHeight(lbl1,lbl1.Text)
sv.Panel.Height=su.MeasureMultilineTextHeight(lbl1,lbl1.Text)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

اگه از اندروید پایین تر از 4 استفاده می کنی کد مربوط به تم در Manifest Editor حذف کن

SetApplicationAttribute(android:theme, "@android:style/Theme.Holo")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بزارید راهنماییتون کنم

شما بهتره که واسه اسکرول ویو یک لایه جداگونه بسازید و اشکرول ویو رو از دیزاینر اضافه کنید و نیازی نیست از طریق کد نویسی باشه

بعدش دکمه های شما ظاهرا کلا 2تاست واقعا نیازی نیست که به وسیله تگ و سندر این کار و انجام بدید.

 

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

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

خیر آقا مجید دکمه های من  30 تاست . اینجا فقط دوتاشو نوشتم .

من 5 دکمه اول رو توی یه پنل گذاشتم و بقیه رو با کدهای مولتی پنل درست کردم . کلا شده 30 تا دکمه .

بعد همه تنظیمات دکمه ها و متنشونو رنگشونو از دیتابیس گرفتم .

روی هر دکمه کلیک میشه متنی رو از دیتابیس نمایش میده توی یه کادر . حالا اینجا مشکل هست که بعضی از متنها مثلا 1 خطن . بعضی ها 6 خط . اندازه هاشون متفاوتن . حالا اصلا متنهای بلند اسکرول نمیشه . نمی دونم چه کنم

بعد من کلا صفحه مو با کد نویسی ساختم .

میشه راهنمایی کنید که چیکار کنم ؟

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

خب یعنی الان شما توی هر پنل 5 تا دکمه دارید ؟

و در مجموع الان شما 30 تا دکمه با 6 تا پنل دارید دیگه ؟ 

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

خب شما تگ دکمه رو شماره ایدی همون رکورد قرار بدید.

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

ببینید اگه شما روی پنل 5 تا دکمه هم داشته باشید با این روش میتونید مطالب هر 5تا دکمه رو بگیرید به شرط اینکه هر دکمه یک فیلد توی ئیتابیس داشته باشن.مثلا 5تا ستون مطلب داشتخ باشید عملی میشه

 

حالا باز چیزی که رو گفتم به پروژه شما ربطی پیدا نمی کرد توضیحات بیشتری بدید تا بنده راهنمایی کنم

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

آقا مجید بنده همین کارا رو کردم . ببینید من دقیقا 5 دکمه روی یه پنل دارم و 6 ردیف ساختم که میشه 30 تا دکمه .

هر ستون توی دیتابیس یه ستون داره که واسه هر دکمش یه آی دی و متن و رنگشو نوشتم جلوش .

تکست هر دکمه رو برابر آی دی قرار دادم ( چون تکست دکمه هام شمارست ) و تگ هر دکمه رو برابر متنی که میخوام نمایش بدم . و بعد توی رویداد کلیک هر دکمه از sender استفاده کردم . در حالت معمول و بدون اسکرول ویو مطالب رو نمایش میده اما خوب بدون اسکرول شدن . اما وقتی مثل کدهایی که بالا نوشتم کدهای اسکرول شدن رو قرار میدم . متسفانه متن نصفهه میاد و خطها نصفه نمایش داده میشه . علتش رو نمیفهمم . واقعا گیج شدم

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

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

شما یک اکتویتی جداگونه بسازید و همین تگ رو بریزید توی یک متغییر استرینگ و بدید به لیبل و انجا اسکرول رو با متن نتظیم کنید

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

راستش متوجه نمیشم دقیقا منظورتون چیه . لطف میکنید با کد توضیح بدید . ممنون میشم . ببینید من توی یه اکتیویتی 30 تا دکمه و یه پنل دارم . میخوام روی هر دکمه کلیک شد متنش توی لیبلی که توی اون چنل گذاشتم ظاهر بشه .

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

خب بزارید یک سوال ازتون بپرسم؟شما دارید روی چه پروژه ای کار میکنید ؟ این 30 تا دکمه توی یک پنل قرار دارن یا اینکه هر 5 دکمه یک پنل جداگونه ؟

لیبل زیر تمامی دکمه ها قرار داره ؟ شما میخوایید با کلیک روی هر دکمه متن دکمه توی لیبل نشون داده بشه ؟ برای اینکه متن کامل نشون داده بشه میخوایید از اسکرول ویو استفاده کنید ؟

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

آقا مجید این همون پروژه ایه که قبلا باهاتون در موردش صحبت کردم .

ببینید من یک پنل دارم که 5 تا دکمه توشه بعد با کدهای مولتی پنل دکمه هام رو کردم 30 تا توی یه اکتیویتی . بعد فقط یه پنل دارم با یه لیبل توش که با کلیک روی هر دکمه مطلبش توی اون لیبل نمایش داده میشه و وقتی روی دکمه دیگهای کلیک کنم متن اون دکمه به جای قبلی نمایش داده میشه .

حالا این متنهایی که نمایش داده میشن اندازه هاشون مختلفه . بعضی هاشون بلندن بعضی ها کوتاه . بعضی ها نیاز به اسکرول شدن دارن بعضی ها ندارن . حالا مشکل اینجا با اسکرول شدن متن هاست که اصلا جور در نمیا د.

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

بایگانی شده

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

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

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