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

دریافت string یک کلمه از یک متن طولانی در textview

مرتضی مرادی  9 سال پیش  9 سال پیش
0 0

سلام ، دوستان من یه متن در یه تکست ویو نوشتم و میخوام وقتی کاربر روی یک یک کلمه انتخابی در اون تکست ویو تاچ کرد ( مثلا لانگ تاچ) اونوقت بتونم اون کلمه رو تو یه 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);
0 0
تشکر از کدی که ارائه کردید .تو این کد ما از قبل برای یک کلمه با توجه به شماره کاراکترهای شروع و پایانش یه متد برای کلیک شدن روی اون تعریف میکنیم. اما من منظورم چیز دیگه ای بود : میخواستم وقتی کاربر مثلا روی کلمه Software کلیک کرد اون کلمه توی یه استرینگ دیگه ذخیره بشه . یا اگه روی Android کلیک کرد اون کلمه توی یه String دیگه ذخیره بشه . مثلا من یه استرینگ به نام clickword میسازم حالا هر بار رو هر کلمه ای کلیک بشه متن اون کلمه تو این استرینگ ذخیره بشه. (9 سال پیش)
0 0
ببینید این لینک ها به درد میخوره //stackoverflow.com/questions/34541314/android-setting-onclicklistener-to-a-part-of-text-in-a- (9 سال پیش)
0 0
لینک (9 سال پیش)
0 0
لینک (9 سال پیش)
0 0
معذرت میخوام من به اندروید استودیو دسترسی ندارم که نتیجه رو تست کنم.برا همین فقط لینک مشابه میدم (9 سال پیش)
0 0
سلام. با این وضعیت فکر میکنم راه دوم بتونه کمک بهتری ب شما بکنه... (9 سال پیش)
پاسخ به سوال 
Soheil  9 سال پیش
0 0

و اما 

راه دوم :

میتونید  به صورت programitically لایه textview بسازید و مقداردهی کنید و طبیعتا موقع کلیک رو لایه های مختلف ک در اینجا رویداد برای همه لایه ها میتونه یکسان باشه عملیات مورد نظر خودتون انجام بدین.

توصیه من روش 1 هست


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