2010-06-07 21 views
5

Mi sembra che si stia riscontrando problemi con il linkify che sto utilizzando nel mio adattatore personalizzato. Per qualche motivo ricevo il seguente tracciato di stack quando clicco su uno dei link:Android - Problema Linkify

06-07 20:49:34.696: ERROR/AndroidRuntime(813): Uncaught handler: thread main exiting due to uncaught exception 
06-07 20:49:34.745: ERROR/AndroidRuntime(813): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.app.ApplicationContext.startActivity(ApplicationContext.java:550) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.content.ContextWrapper.startActivity(ContextWrapper.java:248) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.text.style.URLSpan.onClick(URLSpan.java:62) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.text.method.LinkMovementMethod.onTouchEvent(LinkMovementMethod.java:216) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.widget.TextView.onTouchEvent(TextView.java:6560) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.view.View.dispatchTouchEvent(View.java:3709) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107) 
06-07 20:49:34.745: ERROR/AndroidRuntime(813):  at android.app.Activity.dispatchTouchEvent(Activity.java:2061) 

Qui è il codice che chiama esso:

TextView bot = new TextView(c); 
    bot.setText(li.getBottomText()); 
    bot.setTextColor(Color.BLACK); 
    bot.setTextSize(12); 
    bot.setPadding(50, 35, 0, 10); 
    Linkify.addLinks(bot, Linkify.ALL); 
    rL.addView(bot,ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); 

Capisco quello che l'errore sta dicendo ma non sono sicuro di come aggiustarlo. Qualcuno ha qualche idea? Grazie in anticipo per il vostro aiuto!

risposta

17

Risulta che la risposta a questo è molto più semplice di quanto avessi inizialmente pensato. Il problema era che quando stavo passando il contesto al mio adattatore personalizzato stavo passando il getApplicationContext() che non è lo stesso di usare l'identificatore .

ERRATO MODO:

Context mContext = getApplicationContext(); 
CustomAdapter mAdapter = new CustomAdapter( 
       mContext, 
       itemList); 

modo corretto:

CustomAdapter mAdapter = new CustomAdapter( 
       this, 
       itemList); 
+0

Grazie un tizio molto .. :) :) –

+0

Grazie ragazzo, hai salvato la vita. ;) – emaleavil