بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
امکان کپی متن
توی برنامه یه متنی قرار دادم میخوام کاربر بتونه با چند ثانیه نگه داشتن روی متن یه اون متنو کپی کنه چه جور باید اینکارو بکنمن
برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال
Hossein Lamei Ramandi
10 سال پیش
+1
0
یه سرچی تو استک میزدی پیدا میکردی
ClipboardManager clipboard =(ClipboardManager) getSystemService(CLIPBOARD_SERVICE);ClipData clip =ClipData.newPlainText("label","Text to copy");
clipboard.setPrimaryClip(clip);
پاسخ به سوال
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ها یجاد میشه؟
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .