اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)
ارسالها: 24
موضوعها: 6
تاریخ عضویت: مهر ۱۳۹۳
اعتبار:
0
سپاس ها 12
سپاس شده 10 بار در 5 ارسال
حالت من:
۱۳۹۴/۰۴/۰۲, ۰۱:۱۱ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۴/۱۰, ۰۲:۳۹ ق.ظ توسط admin.)
سلام مطابق كليد شماره 2651 ميتونيم متن هايي رو از يك URL دريافت كنيم و در يك ليست ويو نمايش بديم اما حالا اگه بخواييم يك متن از متن هاي دريافت شده مثلا در عكس زير name_1 رو به اشتراك بگذاريم بايد چيكار كنيم؟
البته در اين باره سوالات ديگه اي هم دارم ولي فعلا مهم ترينشون همين بود.
| به يزدان اگر ما خرد داشتيم |
| كجا اين سرانجام بد داشتيم |
| «فردوسي» |
سپاس شده توسط | |
|
اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۴/۰۴/۰۲, ۰۷:۵۱ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۴/۰۲, ۰۷:۵۲ ب.ظ توسط admin.)
سلام.
کلید زیر در مورد ساخت یک ListView سفارشی می باشد :
کلید شماره 843
در مواردی که ما نیاز به تعیین اجرای کد، هنگام اشاره بر روی یکی از زیربخش های هر item داریم (نه اشاره روی کل item)، باید به سراغ کدهای Adapter تعریف کننده ساختار item ها برویم. مثلا در آن کلید، کد زیر را برای Adapter داریم :
کد پیاچپی: private class MyAdapter extends ArrayAdapter<String>{
public MyAdapter(Context context, int resource, int textViewResourceId, String[] strings) { super(context, resource, textViewResourceId, strings); // TODO Auto-generated constructor stub } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View row = inflater.inflate(R.layout.list_item, parent, false); String stringName = "string_key_" + String.valueOf(position+1); int string_res_ID = getResources().getIdentifier(stringName,"string",getPackageName()); String my_string = getResources().getString(string_res_ID); TextView tv = (TextView) row.findViewById(R.id.textView1); tv.setText(my_string); String imageName = "key_" + String.valueOf(position+1); int image_res_ID = getResources().getIdentifier(imageName,"drawable",getPackageName()); ImageView iv = (ImageView) row.findViewById(R.id.imageView1); iv.setImageResource(image_res_ID);
return row; } }
بنابراین باید در کدهای Adapter ، عنصر TextView مورد نظر را شناسایی کرده و تعیین کنید که با اشاره بر روی آن، متن آن به اشتراک گذاشته شود ( کلید شماره 255).
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)
ارسالها: 24
موضوعها: 6
تاریخ عضویت: مهر ۱۳۹۳
اعتبار:
0
سپاس ها 12
سپاس شده 10 بار در 5 ارسال
حالت من:
خيلي ممنون بابت راهنماييتون
اما براي من اين روش خيلي پيچيدست ، راهي هست كه متن هاي قرار گرفته در URL در فايل string.xml ذخيره بشه و بعد به وسيله اون بشه متن مورد نظر رو به اشتراك گذاشت؟؟ (يا راه هايي كه مثل اين باشه)
| به يزدان اگر ما خرد داشتيم |
| كجا اين سرانجام بد داشتيم |
| «فردوسي» |
سپاس شده توسط | |
|
اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۴/۰۴/۱۰, ۰۲:۴۹ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۴/۱۰, ۰۲:۵۰ ق.ظ توسط admin.)
(۱۳۹۴/۰۴/۰۹, ۰۳:۲۵ ب.ظ)'yasa' نوشته: اما براي من اين روش خيلي پيچيدست، راهي هست كه متن هاي قرار گرفته در URL در فايل string.xml ذخيره بشه و بعد به وسيله اون بشه متن مورد نظر رو به اشتراك گذاشت؟؟ (يا راه هايي كه مثل اين باشه)
هنگام استفاده از ListView ، باید از همین روش استفاده کنید. به هر حال قصد داریم که ویژگی هایی را برای عناصر درون item ها (نه کل item ها) تعیین کنیم، پس مجبوریم که کدهای Adapter را تغییر بدهیم. مگر اینکه بخواهید با اشاره بر روی کل item ، یگ سری عملیات اجرا شود که در آن صورت، دیگر با کدهای Adapter کاری نداریم و فقط باید روش setOnItemClickListener برای ListView به کار رود (کد زیر از کلید شماره 843 می باشد) :
کد پیاچپی: lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override public void onItemClick(AdapterView<?> parent, final View view, int position, long id) { Intent i = new Intent(getApplicationContext(), SecondActivity.class); number_of_keys = String.valueOf(position+1); i.putExtra("key_number", number_of_keys); startActivity(i); }
});
ولی شما بالاخره باید آن حالت تعیین ویژگی های عناصر داخل item ها با استفاده از ویرایش کدهای Adapter را تمرین کنید، چون یکی از مواردی است که زیاد با آن سر و کار داریم.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)
ارسالها: 24
موضوعها: 6
تاریخ عضویت: مهر ۱۳۹۳
اعتبار:
0
سپاس ها 12
سپاس شده 10 بار در 5 ارسال
حالت من:
۱۳۹۴/۰۴/۱۰, ۱۲:۴۴ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۴/۱۰, ۰۱:۰۶ ب.ظ توسط yasa.)
خيلي ممنونم
چشم سعي ميكنم ياد بگيرم. اما اگه بخوام يك دكمه در زير هر رديف قرار بدم فرقي نداره؟
| به يزدان اگر ما خرد داشتيم |
| كجا اين سرانجام بد داشتيم |
| «فردوسي» |
سپاس شده توسط | |
|
اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۴/۰۴/۱۱, ۰۴:۰۰ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۴/۱۱, ۰۴:۰۲ ق.ظ توسط admin.)
(۱۳۹۴/۰۴/۱۰, ۱۲:۴۴ ب.ظ)'yasa' نوشته: خيلي ممنونم
چشم سعي ميكنم ياد بگيرم. اما اگه بخوام يك دكمه در زير هر رديف قرار بدم فرقي نداره؟
اگر در هر ردیف یک Button داشته باشیم (یعنی در فایل xml مربوط به ساختار گرافیکی ردیف، یک Button قرار بدهیم)، باید باز هم برای تعیین کدهایی که با اشاره بر روی Button اجرا می شوند، به سراغ ویرایش کدهای Adapter برویم.
در واقع، تعداد عنصر اهمیت ندارد و تنها مهم این است که بخواهیم کد مورد نظر، با اشاره بر روی کل item اجرا شود و یا با اشاره بر روی یک عنصر داخل item .
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)
ارسالها: 24
موضوعها: 6
تاریخ عضویت: مهر ۱۳۹۳
اعتبار:
0
سپاس ها 12
سپاس شده 10 بار در 5 ارسال
حالت من:
۱۳۹۴/۰۴/۱۲, ۰۵:۳۷ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۴/۱۳, ۰۳:۰۵ ب.ظ توسط admin.)
ببخشيد من اينقدر سوال ميپرسم، من كد هاي زير رو اضافه كردم:
کد پیاچپی: lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override public void onItemClick(AdapterView<?> parent, final View view, int position, long id) { Intent i = new Intent(getApplicationContext(), SecondActivity.class); number_of_keys = String.valueOf(position+1); i.putExtra("key_number", number_of_keys); startActivity(i); }
});
حالا براي اينكه متن name در ( كليد 2651) رو به اشتراك بگذارم نميدونم به جاي كد Adapter بالا از چه كدي بايد استفاده كنم؟
(البته اين سوال رو پرسيدم چون با جستجو هم متوجه نشدم چيكار بايد بكنم)
پس اگر امكانش هست راهنماييم كنيد.
| به يزدان اگر ما خرد داشتيم |
| كجا اين سرانجام بد داشتيم |
| «فردوسي» |
سپاس شده توسط | |
|
اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
کدی که قرار دادید، کد Adapter نمی باشد، بلکه برای اشاره بر روی کل item است (روش setOnItemClickListener برای ListView).
اگر در Adapter ، کدی برای هنگام اشاره بر روی یک عنصر داخل ردیف (item) تعیین کنید، آنگاه باید این روش setOnItemClickListener را برای ListView به کار نبرید (چون دیگر با اشاره بر روی کل item کاری نداریم).
ارسال های قبلی را دوباره بخوانید.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)
ارسالها: 24
موضوعها: 6
تاریخ عضویت: مهر ۱۳۹۳
اعتبار:
0
سپاس ها 12
سپاس شده 10 بار در 5 ارسال
حالت من:
۱۳۹۴/۰۵/۰۳, ۰۷:۲۰ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۵/۰۳, ۱۱:۱۲ ب.ظ توسط admin.)
(۱۳۹۴/۰۴/۱۳, ۰۳:۰۸ ب.ظ)'admin' نوشته: کدی که قرار دادید، کد Adapter نمی باشد، بلکه برای اشاره بر روی کل item است (روش setOnItemClickListener برای ListView).
اگر در Adapter ، کدی برای هنگام اشاره بر روی یک عنصر داخل ردیف (item) تعیین کنید، آنگاه باید این روش setOnItemClickListener را برای ListView به کار نبرید (چون دیگر با اشاره بر روی کل item کاری نداریم).
ارسال های قبلی را دوباره بخوانید.
ببخشيد،
پس چرا در كليد ( 843) اين كد رو براي اشاره بر روي رديف هاي آيتم در نظر گرفتيد؟
يا من درست متوجه نشدم؟
| به يزدان اگر ما خرد داشتيم |
| كجا اين سرانجام بد داشتيم |
| «فردوسي» |
سپاس شده توسط | |
|
اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۴/۰۵/۰۳, ۱۱:۱۴ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۵/۰۳, ۱۱:۱۵ ب.ظ توسط admin.)
این جمله را دوباره ذکر می کنم :
((در مواردی که ما نیاز به تعیین اجرای کد، هنگام اشاره بر روی یکی از زیربخش های هر item داریم (نه اشاره روی کل item)، باید به سراغ کدهای Adapter تعریف کننده ساختار item ها برویم.))
الآن عکسی که شما قرار دادید، مربوط به کد برای اشاره روی کل item است، نه اشاره بر روی یکی از زیربخش های هر item .
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
|