بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
دریافت string یک کلمه از یک متن طولانی در textview
سلام ، دوستان من یه متن در یه تکست ویو نوشتم و میخوام وقتی کاربر روی یک یک کلمه انتخابی در اون تکست ویو تاچ کرد ( مثلا لانگ تاچ) اونوقت بتونم اون کلمه رو تو یه string ذخیره کنم. هنوز به نتیجه مشخصی برای این موضوع نرسیدم اگه راهنمایی کنید ممنون میشم. تشکر.
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
Soheil
9 سال پیش
0
0
سلام
دو راه دارید :
راه اول :
SpannableString ss = new SpannableString("Android is a Software stack");
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View textView) {
startActivity(new Intent(MyActivity.this, NextActivity.class));
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
}
};
ss.setSpan(clickableSpan, 22, 27, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView textView = (TextView) findViewById(R.id.hello);
textView.setText(ss);
textView.setMovementMethod(LinkMovementMethod.getInstance());
textView.setHighlightColor(Color.TRANSPARENT);
تشکر از کدی که ارائه کردید .تو این کد ما از قبل برای یک کلمه با توجه به شماره کاراکترهای شروع و پایانش یه متد برای کلیک شدن روی اون تعریف میکنیم. اما من منظورم چیز دیگه ای بود : میخواستم وقتی کاربر مثلا روی کلمه Software کلیک کرد اون کلمه توی یه استرینگ دیگه ذخیره بشه . یا اگه روی Android کلیک کرد اون کلمه توی یه String دیگه ذخیره بشه . مثلا من یه استرینگ به نام clickword میسازم حالا هر بار رو هر کلمه ای کلیک بشه متن اون کلمه تو این استرینگ ذخیره بشه. (9 سال پیش)
لینک (9 سال پیش)
لینک (9 سال پیش)
پاسخ به سوال
Soheil
9 سال پیش
0
0
و اما
راه دوم :
میتونید به صورت programitically لایه textview بسازید و مقداردهی کنید و طبیعتا موقع کلیک رو لایه های مختلف ک در اینجا رویداد برای همه لایه ها میتونه یکسان باشه عملیات مورد نظر خودتون انجام بدین.
توصیه من روش 1 هست
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .