۱۳۹۳/۰۲/۳۰, ۰۴:۱۵ ب.ظ
سلام من میخوام یک اکتیویتی بسازم که داخلش سه تا لیست کشویی باشه(هرکدوم از این لیست 2گزینه داشته باشد)بعد وقتی روی button کلیک میکنی دو حالت داشته باشه یا به صفحه اول یا صفحه دوم بره ممنون میشم راهنمایم کنید مرسی
(۱۳۹۴/۰۲/۰۷, ۰۶:۴۱ ب.ظ)'Rahaa' نوشته: [ -> ]سلام مدیر جان-سایتت از عالی اونورترهممنونم بابت زحماتتون
چنتا سوال دارم چطور میشه برای ExpandableListView لیست علاقه مندی ها ساخت؟ میشه کدش رو قرار بدید؟آخه من تازه کار هستم و با تلاش شبانه روزی و با کمک شما و سایت های دیگه تونسم یه کتاب که فهرستش Expandable ListView هست بنویسم ، برای قسمت تنظیمات :تنظیم قونت (سایز و نوع فونت )رو گذاشتم،ولی سرعت اسکرول متن به شدت کم شده! میشه بفرمائید چکار کنم که قسمت تنظیمات رو حفظ کنم با اسکرول طبیعی ک سرعتش مثل لیست ویو های معمولی باشه؟ اگه قسمت تنظیماتش رو هم حذف کنم کتابم خیلی معمولی میشه !لطف میکنید لیست علاقه مندی هارو هم توضیح بدید؟خیلی بهش احتیاج دارم
ممنون از زحماتتون
(۱۳۹۴/۰۲/۱۰, ۰۱:۰۶ ق.ظ)'داش بهروز' نوشته: [ -> ]من دقیقا متوجه سوالاتون نشدم.
اینکه میگید میخوام واسه لیست ExpandableListView لیست علاقه مندی بسازم.اگر منظورتون برای محتوای متن هست،خب عملا ارتباطی با شکل و ساختار لیست نداره،اگر منظورتون چیز دیگه است ،واضح تر بگید.
اینکه میگید تنظیمات اسکرول متن رو کند کرده،منظورتون چیه؟
اگه بهتر سوالتون مطرح کنید،میشه به راه حلهایی رسید
public class CustomTextView extends TextView {
private static final String FONT = "font";
private static final String SIZE = "size";
SharedPreferences sp;
private void inti(Context context) {
sp=PreferenceManager.getDefaultSharedPreferences(context);
Typeface face=Typeface.createFromAsset(context.getAssets(), sp.getString(FONT, "BZar.ttf"));
this.setTypeface(face);
this.setTextSize(sp.getInt(SIZE, 22));
}
Typeface face=Typeface.createFromAsset(context.getAssets(), sp.getString(FONT, "BZar.ttf"));
Typeface face=Typeface.createFromAsset(context.getAssets(), sp.getString(FONT, "BZar.ttf"));
this.setTypeface(face);
(۱۳۹۴/۰۲/۱۲, ۰۲:۰۷ ق.ظ)'داش بهروز' نوشته: [ -> ]دوست عزیز متنهای نمایش داده شده داخل دیتابیس ذخیره کردید؟اگر اینکار رو کردید ،برای اضافه کردن علاقه مندی ،کار سختی ندارید،کافیه یه ستون عددی که مقدار صفر و یکر رو میگیره د به دیتابیس اضافه کنید و از آن برای تشخیص علاقه مندی استفاده کنید.(اگر از دیتابیس استفاده میکنید،بگید تا ساختار کلی رو دوستان یا بنده توضیح بدم)..
در مورد سوال دومتون: اینکه یک دکمه اشتراک گذاری باعث کندی اسکرول بشه ،عملا دور از ذهن هست،ومشکل از بخش دیگر است.
در مورد سوال CustomTextView :مشکل کندی اسکرولتون بر میگرده به احتمال زیاد به این قسمت ..به کجای قسمت مربوطه؟.اگر کدهایی که در سایت مذبور گفتید رو نگاه کنید میبینید در داخل کلاس CustomTextView که در زیر کد آوردم(ازسایتی که خودتون گفتید)
این کد بالا میاد هر دفعه که تکست ویو ساخت میشه ،دستور زیر که در بدنه این کلاس قرار داره اجرا میشه.. یعنی هربار میاد context.getAssets رو اجرا میکنه.که این خودش باعث کندی میشه.کد پیاچپی:public class CustomTextView extends TextView {
private static final String FONT = "font";
private static final String SIZE = "size";
SharedPreferences sp;
private void inti(Context context) {
sp=PreferenceManager.getDefaultSharedPreferences(context);
Typeface face=Typeface.createFromAsset(context.getAssets(), sp.getString(FONT, "BZar.ttf"));
this.setTypeface(face);
this.setTextSize(sp.getInt(SIZE, 22));
}که این عملا باعث کندی و لاگ هنگام اسکرول میشه..برای مطمئن شدن از اینکه این خط باعث کندی اسکرول شده،کافیه این دوخط زیر رو از کلاستون حذف کنیدکد پیاچپی:Typeface face=Typeface.createFromAsset(context.getAssets(), sp.getString(FONT, "BZar.ttf"));
و برنامه رو اجرا کنید،ببنید مشکل کندی حل میشه یا نه..اگر مشکل حل شد،پس همون طور که حدس زدم مشکل از خطهای بالا بود..امتحان کنید و خبرش بدید،کد پیاچپی:Typeface face=Typeface.createFromAsset(context.getAssets(), sp.getString(FONT, "BZar.ttf"));
this.setTypeface(face);
int begir1 = getIntent().getExtras().getInt("btn");
String displayText = "";
InputStream tarjomer = null;
try {
switch (begir1) {
case 0:
Onvan.setText("متن اول");
tarjomer = getResources().openRawResource(R.raw.ly);
break;
case 1:
Onvan.setText("متن دوم");
tarjomer = getResources().openRawResource(R.raw.lu);
break;
...
default:
break;
}
int fileLen = tarjomer.available();
byte fileBuffer = new byte[fileLen];
tarjomer.read(fileBuffer);
tarjomer.close();
displayText = new String(fileBuffer);
} catch (IOException e) {
}
Matn.setText(displayText);
Typeface face=Typeface.createFromAsset(context.getAssets(), sp.getString(FONT, "BZar.ttf"));
(۱۳۹۴/۰۲/۱۳, ۱۲:۱۱ ق.ظ)'داش بهروز' نوشته: [ -> ]پس درست حدس زدم مشکل از خط زیر بوده .چون برای تغییر فونت ،نرم افزار مجبوره هر بار کانتکس رو بگیره وهمین باعث لاگ وکندی اسکرول میشد..کد پیاچپی:Typeface face=Typeface.createFromAsset(context.getAssets(), sp.getString(FONT, "BZar.ttf"));
دوست عزیز خب عملا نباید تغییری در فونت انجام شود..چون با حذف اون دوخط ،قابلیت تغییر فونت برداشته شد...خب ایراد این روشی که شما استفاده کردید و سایت مزبور هم آموزش داده همینه..که به کند شدن اسکرول توجه نکرده..اینکه بشه با این روش سایت مزبور قابلیت فونت رو اضافه کرد و عملا هم باعث کندی اسکرول نشه،دقیقا و کامل فکر نکردم که چه راه حلی باید بکار برد الان..شاید دوستان بتونند کمک کنند،اگر روشی اومد به ذهنم که بشه به کدهای سایت مزبور اضافه کرد،اطلاع میدم.
(۱۳۹۴/۰۲/۱۶, ۰۳:۰۵ ب.ظ)'داش بهروز' نوشته: [ -> ]دوست عزیز برای اضافه کردن لیست علاقه مندی،باید راحتی کار از دیتابیس استفاده کنید...اینکه فایلها رو در res ریختید،و بخواهید برای آن لیست علاقه مندی بگزارید،عملا دشوار و غیر استاندارد هست، و مطمئنا کسی چون از روش شما استفاده نمیکنه اغلب ،پس راه حلی مطمئنا برای شما ارائه نمیشه داد،
پس پیشنهاد بنده این شما باید از روشهای استاندارد (که استفاده از دیتابیس برای اینجور قابلیتها است) استفاده کنید.
چون فرض کنید بخواید عمل جستجو هم قرار بدید ،باز هم با همین مشکل روبرو میشید و عملا کاری از پیش نمیبرید.
پس اول بهتره کار با دیتابیس رو در این سایت یا سایتهای مشابه یاد بگیرید،بعدش به راحتی میتونید به راحتی لیست علاقه مندی یا جستجو یا اعمال قستمهایی مختلف برای برخی مطالب و.
رو به راحتی برای متنهای خود داشته باشید...
چون ساختار کد شما رو ندیدم نمیشه گفت بدون دیتابیس از چه روشی باید استفاده کنید
(۱۳۹۴/۰۲/۱۱, ۰۵:۰۰ ب.ظ)Rahaa نوشته: [ -> ]داش بهروز\ dateline='\'1430339762' نوشته: [ -> ]من دقیقا متوجه سوالاتون نشدم.
اینکه میگید میخوام واسه لیست ExpandableListView لیست علاقه مندی بسازم.اگر منظورتون برای محتوای متن هست،خب عملا ارتباطی با شکل و ساختار لیست نداره،اگر منظورتون چیز دیگه است ،واضح تر بگید.
اینکه میگید تنظیمات اسکرول متن رو کند کرده،منظورتون چیه؟
اگه بهتر سوالتون مطرح کنید،میشه به راه حلهایی رسید
سلام
ممنونم که پاسخگو هستید..
من تازه کار هستم و حدود یک ماه هست شروع به یادگیری برنامه نویسی اندروید با اکلیپس کردم..نمیدونم چطور میشه برای ExpandableListView لیست علاقه مندی بسازم..
فهرست مطالبم در قالب ExpandableListView در اکتیویتی Fehrest هستش و وقتی در هر یک اززیرآیتم ها یا به قولی بچه های فهرست کلیک میشه وارد اکتیویتی Text میشه که دراون متن رو قرار دادم..میخواسم برای این متن ها لیست علاقه مندی ها بسازم..ولی همونطور که گفتم نتونسم بسازمشبانه روز خیلی تلاش کردم..میشه کدش رو برام بگذارید؟
در مورد قسمت تنظیمات فونت و سایز فونت ها از آموزش این صفحه استفاده کردم:
http://p30droid.com/Thread-%D8%A2%D9%85%...%AF-%D9%88
که درآن TextView به .CustomTextView تبدیل شد یعنی اینجوری:
Name package barnamam.CustomTextViewقسمت تنظیمات رو درست کردم و فونت و سایز TextView تغییر میکرد و مشکلی نداشت به غیرازاینکه وقتی در TextView متن رو اسکرول میکنم متن تیکه تیکه اسکرول میشه و سرعتش خیلی کمه!در همان سایت که آدرسش رو قرار دادم هم چندنفر همین مشکل رو داشتند ولی پاسخی هنوز داده نشده..در این صورت(TextView به .CustomTextView تبدیل شده)قسمت اشتراک گذاری هم که در متنم گذاشته بودم اسکرولش کند شد:اسکرول برنامه هایی که میشه باهاش اشتراکگذاری کرد!
وقتی TextView رو معمولیش کردم یعنی وقتی قسمت تنظیمات رو برداشتم این مشکلات حل شد!ولی برنامم خیلی سادس اینجوری و هیچ امکاناتی ندارهدرصورتی که تلاشهای بسیاری انجام دادم هم برای گرافیکش هم کدنویسیش
لطفا راهنماییم کنید
ممنونم