آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

امکان کپی متن

Morteza  10 سال پیش  10 سال پیش
0 0

توی برنامه یه متنی قرار دادم میخوام کاربر بتونه با چند ثانیه نگه داشتن روی متن یه    اون متنو کپی کنه چه جور باید اینکارو بکنمن

 برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال 
Hossein Lamei Ramandi  10 سال پیش
+1 0

یه سرچی تو استک میزدی پیدا میکردی

 ClipboardManager clipboard =(ClipboardManager) getSystemService(CLIPBOARD_SERVICE);ClipData clip =ClipData.newPlainText("label","Text to copy");
clipboard.setPrimaryClip(clip);
پاسخ به سوال 
Morteza  10 سال پیش
0 0

این کدو کجا بزارم؟؟؟

0 0
یه توضیح بده میخوای چی کار کنی تا بگم کجا بزاری (10 سال پیش)
0 0
میخوام تو فایل xml یه متنیو بزارم که قابلیت کپی داشته باشه (10 سال پیش)
0 0
اینو باید توفایل جاوا بزارم ؟ اگه بزارم برای همه xml ها این ویژگی ایجاد میشه (10 سال پیش)
0 0
آقا مرتضی من به طور کامل پایین نوشتم. متن تکست در xml برای تکت ویو ست میشه پس باید مقدار String را برگردونید. کد زیر جواب کامل راه حل شماست. (10 سال پیش)
0 0
ینی من تقریبا چهلو خورده ای تکست ویو دارم برای هر کدم باید یه بار این کدو بنویسیم (10 سال پیش)
+1 0
نه اصلا نیازی به این کار نیست. پاسخ قبلی را برای جواب به این سوالتون ویرایش میکنم. (10 سال پیش)
+1 0
تشکر فهمیدم (10 سال پیش)
پاسخ به سوال 
BrotherV  10 سال پیش
+2 0

برای حل این موضوع باید از اینترفیس onLongClickListener استفاده کنیم و اون را برای تکست Override کنیم. کد زیر برای این کار میتونید استفاده کنید.

 final TextView txt = (TextView) findViewById(R.id.textView1);
txt.setLongClickable(true);
txt.setOnLongClickListener(new OnLongClickListener() {
    @Override
    public boolean onLongClick(View arg0) {
        ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
		      ClipData clip = ClipData.newPlainText("label", txt.getText()
			     .toString());
		      clipboard.setPrimaryClip(clip);
		      Toast.makeText(ActivityMain.this, "متن مورد نظر در کلیپورد ذخیره شد.",
        Toast.LENGTH_SHORT).show();
		      return true;
	   }
});

حالا اگر چندین تکست ویو دارید مثلا 100 تا برای همین به صورت زیر عمل میکنیم.

 public class ActivityMain extends Activity implements OnLongClickListener{

	private static final int[] textViewIdArray={R.id.txt1, ...,R.id.txt100};
	private TextView[] txt = new TextView[textViewIdArray.length];
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
		    super.onCreate(savedInstanceState);
		    setContentView(R.layout.ac_main);
		
		    for(int i=0;i<textViewIdArray.length;i++){
		        	txt[i] = (TextView)findViewById(textViewIdArray[i]);
txt[i].setOnLongClickListener(this);
} . . . } @Override public boolean onLongClick(View arg0) { ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); ClipData clip = ClipData.newPlainText("label", txt.getText() .toString()); clipboard.setPrimaryClip(clip); Toast.makeText(ActivityMain.this, "متن مورد نظر در کلیپورد ذخیره شد.", Toast.LENGTH_SHORT).show(); return true; } }
پاسخ به سوال 
Morteza  10 سال پیش
0 0

اینو کجا بزام، من چند تا xml دارم که توش تکست ویو داره ، از این کد استفاده کنم قابلیت کپی برای همه xmlها یجاد میشه؟

0 0
تو اکتیویتی دیگه (10 سال پیش)
0 0
تشکر (10 سال پیش)

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