2015-11-01 5 views
0

У меня есть два вида деятельности 1. Вид списка (несколько элементов с заголовком и ссылкой) 2. Текстовый вид (при нажатии на любой элемент в представлении списка, выбор ссылки, разбор XML и получить содержимое и отобразить)Приложение не работает при переключении между действиями

Я использовал намерение переключиться из вида «Вид» в режим просмотра текста. Теперь в первый раз нажмите, он начнет работу с текстовым представлением. При нажатии кнопки возврата устройства снова появляется вид списка. Сейчас все в порядке.

Основная проблема заключается в том, что когда во второй раз я нажимаю на любой элемент в представлении «Список», приложение Android дает мне ошибку «К сожалению приложение остановлено». и нажав «ОК», он отображает содержимое второго элемента. и когда второй раз, я нажал кнопку назад, приложение получило закрыто

Вот моя вторая деятельность

public class ColoumnView extends Activity{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_coloumn_view); 
    Intent intent = getIntent(); 
    String message = intent.getStringExtra(MainListActivity.EXTRA_MESSAGE); 
    TextView myColoumnView = (TextView)findViewById(R.id.ColoumnView); 
    myColoumnView.setText(message); 
} 
@Override 
public void onBackPressed() 
{ 
    // code here to show dialog 
    super.onBackPressed(); 
    finish(); 
} 

Вот часть моей первой деятельности, где он создает пристальный

protected void onPostExecute(List<ContentGetter.Content> contents) { 
     if (contents != null && mException == null) { 
      for(int i=0; i<contents.size();i++) { 
       if(contents.get(i).summary != null) 
       { 
        summaryContent= contents.get(i).summary; 
       } 
       else { 
        continue; 
       } 
       Intent intent = new Intent(MainListActivity.this,ColoumnView.class); 
       intent.putExtra(EXTRA_MESSAGE, summaryContent); 
       startActivity(intent); 
       Log.d(TAG, contents.get(i).summary != null ? contents.get(0).summary : "NULL"); 
      } 

     } else { 
      if (mException instanceof IOException){ 
      } else if (mException instanceof XmlPullParserException) { 
      } 
     } 


    } 

Редактировать: Вот авария Лог

11-01 13:11:46.274 2296-2296/com.example.talha.appforblog E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: com.example.talha.appforblog, PID: 2296 
java.lang.NullPointerException: println needs a message 
     at android.util.Log.println_native(Native Method) 
     at android.util.Log.d(Log.java:139) 
     at com.example.talha.appforblog.MainListActivity$DownloadXmlTaskContent.onPostExecute(MainListActivity.java:241) 
     at com.example.talha.appforblog.MainListActivity$DownloadXmlTaskContent.onPostExecute(MainListActivity.java:206) 
     at android.os.AsyncTask.finish(AsyncTask.java:632) 
     at android.os.AsyncTask.access$600(AsyncTask.java:177) 
     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5221) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
+0

Можете ли вы опубликовать журнал сбоев, когда приходит исключение null ptr – pvn

+0

Пожалуйста, проверьте, я редактировал – user3585510

+0

Заменить ** Log.d (TAG, contents.get (i) .summary! = Null? Contents.get (0) .summary: «NULL») ** с ** Log.d (TAG, contents.get (i) .summary! = null? contents.get (i) .summary: «NULL»); ** –

ответ

1

Проблема в строке 241 деятельности M ainListActivity. Вы вызываете отпечаток там, у которого нет надлежащего сообщения для печати, чтобы прокомментировать эту строку. Если вы разделяете строку кода в той линии, которая помогла бы мне сузить

+0

Log.d (TAG, contents.get (я) .summary = нуль contents.get (0) .summary:? "NULL"); Это также метод onPostExecute(), вставленный выше. Вы можете проверить фон этой строки оттуда – user3585510

+0

, так как это заявление журнала, я полагаю, вы можете это сделать. Я думаю, что есть проблема с «contents.get (0) .summary». Скорее всего, его значение равно нулю – pvn

+0

Еще одна вещь. Я получаю контент из сети, который является html. Теперь, когда я устанавливаю свое текстовое представление в эту строку. Он показывает, как он включает в себя теги. Как я могу показать его как html без тега – user3585510

0

Похоже, это делает его ...

Log.d (TAG, contents.get (я) .summary! = null? contents.get (0) .summary: "NULL");

Убедитесь, что ваше сообщение журнала не является нулевым, в данном случае - content.get (0) .summary.

Смежные вопросы