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

مشکل در ساخت لینک

سالار  8 سال پیش  8 سال پیش
0 0

توی این نرم افزار rss خوانی که طراحی شده

تگ لینک رو مقدارش رو به صورت زیر گذاشتم ولی زمان اجراء برنامه کرش میکنه مشکل کجاست دوستان؟

         public void fill(final ArrayAdapter<RssParser.Item> adapter, final RssParser.Item item, final int position) {
txtTitle.setText(item.title);
txtDate.setText(item.pubDate);
txtCategory.setText(item.category);
Spanned description = Html.fromHtml(item.description);
if (description.length() > 300) {
description = (Spanned) description.subSequence(0, 300);
}
txtDescription.setText(description);

//این قسمت تعریف شده
String linkText = "<a href='" + item.link + "'>نمایش</a>";
txtlink.setText(Html.fromHtml(linkText));
txtlink.setMovementMethod(LinkMovementMethod.getInstance());

}
0 0
خطاهای برنامه را قرار دهید تا امکان بررسی مشکل وجود داشته باشد . (8 سال پیش)
 برای این سوال 9 پاسخ وجود دارد.
پاسخ به سوال 
سالار  8 سال پیش
0 0

07-04 16:46:43.810: E/AndroidRuntime(3163): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
 این خطارو میده

+1 0
شما دارید Intetn را خارج از اکتیویتی اجرا میکنید باید flag نام برده را به Intent اضافه کنید . (8 سال پیش)
پاسخ به سوال 
سالار  8 سال پیش
0 0

متوجه نشدم بیشتر توضیح بدید

پاسخ به سوال 
کاشی زاده  8 سال پیش
+1 0

از این کد استفاده کنید :

Intent intent = new Intent(context,MainActivity.class);
intent .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
پاسخ به سوال 
سالار  8 سال پیش
0 0

داداش من برنامه نویس php هستم اندروید رو دستو پاشکسته دیدم فعلا چون مجبور بودم فعلا یه rss readerبسازم

من الان نمیدونم باید این کدی رو که دادی رو کجا بذارم

من یه کلاس G دارم یه کلاس RssParser دارم یه کلاس AdapterItems رو دارم و یه کلاس ActivityStartup این کد کجای کدوم قرار میگیره؟

+1 0
این کدی که استاد کاشی زاده توی تاپیکشون براتون گذاشتنو باید توی کلاس اداپتر استفاده کنی . البته اگه خودشون بودن جواب میدادن عالی بود . شاید من اشتباه گفته باشم (8 سال پیش)
پاسخ به سوال 
سالار  8 سال پیش
0 0

یعنی به این شکل

 public class AdapterItems extends ArrayAdapter<RssParser.Item> {

public AdapterItems(ArrayList<RssParser.Item> array) {
super(G.context, 0, array);

Intent intent = new Intent(G.context, ActivityStartup.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
G.context.startActivity(intent);
}
...
پاسخ به سوال 
سالار  8 سال پیش
0 0

به این شکل باید استفاده بشه که بالا گفتم؟؟؟؟

پاسخ به سوال 
سالار  8 سال پیش
0 0

اقای کاشی زاده این دستور باید به چه شکل تو کد قرار داده بشه؟

0 0
لطفا برای درج پاسخ های کوتاه ، نظر درج کنید و پاسخ جدید ایجاد نکنید . بله همونطور که نوشتید درست هست . (8 سال پیش)
0 0
ولی هنوز برنامه کرش میکنه (8 سال پیش)
0 0
میشه برنامه رو بفرستم یه چک کنید؟ (8 سال پیش)
0 0
کرش برنامتون احتمالا بخاطر تعریف نکردن کلاس G در منیفست باشه، چک کنید ! (8 سال پیش)
0 0
نه مشکل از اینجا نیست الان من برنامه رو که تو امولیتور باز میکنم صفحه سفیده (8 سال پیش)
0 0
آقا من این برنامه رو یه جا آپلود کردم لینکشو مسزارم یه مرد پیدا بشه یه کمکی به ما بکنه خدا خیرتون بده (8 سال پیش)
0 0
لینک (8 سال پیش)
پاسخ به سوال 
سالار  8 سال پیش
0 0

اقا کسی یه کمکی به ما نمیده؟

این لینک برنامه

http://s2.picofile.com/file/8261841618/darinews.zip.html

 

پاسخ به سوال 
MeY3am  8 سال پیش
0 0

دوست عزیز راه حل مشکل شما بسیار سادست!

شما به جای context از currentActivity استفاده کنید یا نام اکتیویتی رو بزار بعد this !

به اینصورت؛  بجای :

 public class AdapterItems extends ArrayAdapter<RssParser.Item> {

    public AdapterItems(ArrayList<RssParser.Item> array) {
        super(G.context, 0, array);

        Intent intent = new Intent(G.context, ActivityStartup.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        G.context.startActivity(intent);
    }

 از این استفاده کن :

 public class AdapterItems extends ArrayAdapter<RssParser.Item> {

    public AdapterItems(ArrayList<RssParser.Item> array) {
        super(G.context, 0, array);

        Intent intent = new Intent(G.currentActivity, ActivityStartup.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        G.currentActivity.startActivity(intent);
    }

که البته باید currentActivity رو در کلاس G و EnhancedActivity تعریف کرده باشید !

محمدحسین جان حواسشون نبود بجای currentActivity از context برای Intent استفاده کردن !


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