انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)

اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)

#1
سلام مطابق كليد شماره 2651 ميتونيم متن هايي رو از يك URL دريافت كنيم و در يك ليست ويو نمايش بديم اما حالا اگه بخواييم يك متن از متن هاي دريافت شده مثلا در عكس زير name_1 رو به اشتراك بگذاريم بايد چيكار كنيم؟

   

البته در اين باره سوالات ديگه اي هم دارم ولي فعلا مهم ترينشون همين بود.
|     به يزدان اگر ما خرد داشتيم      |
|     كجا اين سرانجام بد داشتيم     |

|‌‌                         «فردوسي»                          |
پاسخ

اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)

#2
سلام.
کلید زیر در مورد ساخت یک ListView سفارشی می باشد :

کلید شماره 843

در مواردی که ما نیاز به تعیین اجرای کد، هنگام اشاره بر روی یکی از زیربخش های هر item داریم (نه اشاره روی کل item)، باید به سراغ کدهای Adapter تعریف کننده ساختار item ها برویم. مثلا در آن کلید، کد زیر را برای Adapter  داریم :

کد پی‌اچ‌پی:
private class MyAdapter extends ArrayAdapter<String>{

        public 
MyAdapter(Context contextint resourceint textViewResourceId,
                        
String[] strings) {
                
super(contextresourcetextViewResourceIdstrings);
                
// TODO Auto-generated constructor stub
        
}
        
        @
Override
        
public View getView(int positionView convertViewViewGroup parent) {
                
LayoutInflater inflater = (LayoutInflatergetSystemService(Context.LAYOUT_INFLATER_SERVICE);
                
View row inflater.inflate(R.layout.list_itemparentfalse);
                
                
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 = (TextViewrow.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 = (ImageViewrow.findViewById(R.id.imageView1);
                
iv.setImageResource(image_res_ID);

                return 
row;
        }
        
        


بنابراین باید در کدهای Adapter ، عنصر TextView مورد نظر را شناسایی کرده و تعیین کنید که با اشاره بر روی آن، متن آن به اشتراک گذاشته شود (کلید شماره 255).

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط yasa

اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)

#3
خيلي ممنون بابت راهنماييتون
اما براي من اين روش خيلي پيچيدست، راهي هست كه متن هاي قرار گرفته در URL در فايل string.xml ذخيره بشه و بعد به وسيله اون بشه متن مورد نظر رو به اشتراك گذاشت؟؟ (يا راه هايي كه مثل اين باشه)
|     به يزدان اگر ما خرد داشتيم      |
|     كجا اين سرانجام بد داشتيم     |

|‌‌                         «فردوسي»                          |
پاسخ

اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)

#4
(۱۳۹۴/۰۴/۰۹, ۰۳:۲۵ ب.ظ)'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 را تمرین کنید، چون یکی از مواردی است که زیاد با آن سر و کار داریم.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط yasa

اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)

#5
خيلي ممنونم
چشم سعي ميكنم ياد بگيرم. اما اگه بخوام يك دكمه در زير هر رديف قرار بدم فرقي نداره؟
|     به يزدان اگر ما خرد داشتيم      |
|     كجا اين سرانجام بد داشتيم     |

|‌‌                         «فردوسي»                          |
پاسخ

اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)

#6
(۱۳۹۴/۰۴/۱۰, ۱۲:۴۴ ب.ظ)'yasa' نوشته: خيلي ممنونم
چشم سعي ميكنم ياد بگيرم. اما اگه بخوام يك دكمه در زير هر رديف قرار بدم فرقي نداره؟

 

اگر در هر ردیف یک Button داشته باشیم (یعنی در فایل xml مربوط به ساختار گرافیکی ردیف، یک Button قرار بدهیم)، باید باز هم برای تعیین کدهایی که با اشاره بر روی Button اجرا می شوند، به سراغ ویرایش کدهای Adapter برویم. 
در واقع، تعداد عنصر اهمیت ندارد و تنها مهم این است که بخواهیم کد مورد نظر، با اشاره بر روی کل item اجرا شود و یا با اشاره بر روی یک عنصر داخل item .

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط داش بهروز ، yasa

اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)

#7
ببخشيد من اينقدر سوال ميپرسم، من كد هاي زير رو اضافه كردم:

کد پی‌اچ‌پی:
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) (در اندروید)

#8
کدی که قرار دادید، کد Adapter نمی باشد، بلکه برای اشاره بر روی کل item است (روش setOnItemClickListener برای ListView).
اگر در Adapter ، کدی برای هنگام اشاره بر روی یک عنصر داخل ردیف (item) تعیین کنید، آنگاه باید این روش setOnItemClickListener را برای ListView به کار نبرید (چون دیگر با اشاره بر روی کل item کاری نداریم).
ارسال های قبلی را دوباره بخوانید.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط yasa

اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)

#9
(۱۳۹۴/۰۴/۱۳, ۰۳:۰۸ ب.ظ)'admin' نوشته: کدی که قرار دادید، کد Adapter نمی باشد، بلکه برای اشاره بر روی کل item است (روش setOnItemClickListener برای ListView).
اگر در Adapter ، کدی برای هنگام اشاره بر روی یک عنصر داخل ردیف (item) تعیین کنید، آنگاه باید این روش setOnItemClickListener را برای ListView به کار نبرید (چون دیگر با اشاره بر روی کل item کاری نداریم).
ارسال های قبلی را دوباره بخوانید.


 

ببخشيد،
پس چرا در كليد (843) اين كد رو براي اشاره بر روي رديف هاي آيتم در نظر گرفتيد؟
يا من درست متوجه نشدم؟

   
|     به يزدان اگر ما خرد داشتيم      |
|     كجا اين سرانجام بد داشتيم     |

|‌‌                         «فردوسي»                          |
پاسخ

اشتراك متني كه از سرور اينترنتي گرفته ميشود (در ListView) (در اندروید)

#10
این جمله را دوباره ذکر می کنم :

((در مواردی که ما نیاز به تعیین اجرای کد، هنگام اشاره بر روی یکی از زیربخش های هر item داریم (نه اشاره روی کل item)، باید به سراغ کدهای Adapter تعریف کننده ساختار item ها برویم.))

الآن عکسی که شما قرار دادید، مربوط به کد برای اشاره روی کل item است، نه اشاره بر روی یکی از زیربخش های هر item .

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط yasa ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان