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


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در share کردن دیتا در ListView (در برنامه نویسی اندروید)

مشکل در share کردن دیتا در ListView (در برنامه نویسی اندروید)

#1
سلام
من یه مشکل گیج کننده دارم.
من یه برنامه نوشتم که از یک دیتابیس اطلاعات رو میگیره و در هر سطر اسم همون سطر در دیتبیس رو نشون میده و با کلیک روی اون یه لینک اجرا میشه.برای این کار از list adaptor و view ها استفاده کردم به صورتی که در کلاس  list adaptor برای find viewbyid  کردن از کلمه row. هم استفاده میکنم یعنی row.findviewbyid (اینا رو گفتم که کار کلی رو بدونید).
حالا من میخواستم که وقتی کاربر روی دکمه share در هر سطر کلیک میکنه لینک اون سطر کپی و برای share کردن آماده بشه.داشتم از لینک زیر استفاده میکردم که کلید شماره 255 است.
http://www.kelidestan.com/keys/keys.php?key=255
حالا من برای استفاده از این کلید اومدم در سطر های سفارشی خودم یه عکس share تعریف کردم و id رو تغییر دادم.بعد جمله زیر را مطابق آموزش به ImageButton ای که تعریف کرده بودم در xml اش اضافه کردم.

کد پی‌اچ‌پی:
android:onClick="shareData" 

بعد به activity اصلی رفتم و بدون معرفی کردن ImageButton چون مشخصه ی onclick را تغییر داده بودم.
بعد هم اومدم تابع زیر رو در activity مطابق آموزش استفاده کردم.

کد پی‌اچ‌پی:
public void shareData(View view) {
        
Intent intent = new Intent(Intent.ACTION_SEND);
        
intent.setType("text/plain");
        
String my_string getResources().getString(R.string.my_text);
        
intent.putExtra(Intent.EXTRA_TEXTmy_string);
        
startActivity(Intent.createChooser(intent"Share this text via"));
        } 

حالا مشکل من شروع میشه.من در لیست ویو وقتی اسم رو میبینم و بعد روی اون کلیک میکنم درست نمایش میده پس میدونم تا آن جارو درست نوشتم. اما حالا اومدم برای اینکه برای share کردن به جای خط چهارم کد بالا از روش زیر استفاده کردم:
یک متغیر در بالای کل اکتیویتی قبل از onCreate و بعد از public class listview extends ListActivityتعریف کردم از جنس int.
بعد در همون قسمت list adaptorدر تابع get view که position رو داره نوشتم:

کد پی‌اچ‌پی:
id =   position+1

(+1 برای درست کردن عدده که خودم میدونم درسته نگران اشتباه بودنش نباشید. اگه اشتباه بود بعد کم و زیادش میکنم)
بعد چون متغیر id من با position +1 پر شده بود به جای جمله چهارم در کد قبلی که نوشتم (اون که برای shareData نوشتم):

کد پی‌اچ‌پی:
String my_string db.display_name_to_address(Name[id]); 

در آرایه Name من اسم هر سطر رو ذخیره کردم
با سمت راست مساوی نوشتم که وقتی کلیک شد پوزیشن را به علاوه ی یک کن و در id ذخیره کن و  بعد در آرایه اسم رو بردار و بعد برو تو دیتابیس اونی که اسمش اینه رو لینکش رو بذار اینجا.(کد های

کد پی‌اچ‌پی:
db.display_name_to_address() 

رو خودم نوشتم و میدونم درسته.
حالا چرا وقتی روی share هر سطر کلیک میکنم اینقدر بالا و پایین تر از لینک خودش نشون میده و حتی یه بار 2 تا پایین تره و بعضی وقتا 4 بالا تره رو نشون میده؟
البته من بعد از خط چهارم نوشتم که

کد پی‌اچ‌پی:
id=0

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

لطفا اگه روش درسته بگید که اشکال کجاست و یا اگه اشتباهی کردم لطفا توضیح بدید تا رفعش کنم
اگه هم روش اشتباس راهنمایی کنید
من در خیلی از نرم افزار ها دیده ام که از share استفاده میکنند(در لست ویو ها)و فک نکنم اینقدر قاطی نباشه.

بیصبرانه منتظره پاسختان هستم.ممنون
پاسخ
 سپاس شده توسط admin ، mina73


پیام‌های این موضوع
مشکل در share کردن دیتا در ListView (در برنامه نویسی اندروید) - توسط hadiho - ۱۳۹۴/۰۵/۲۵, ۰۷:۰۱ ق.ظ

پرش به انجمن:


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