2015-06-16 144 views
0

當我在片段中填充文本視圖時,它在第一個片段中顯示正常。但是當我切換到另一個由另一個文本文件填充的片段時,它是空白的。當我從前一個片段視圖切換到時,片段視圖爲空

有人能幫我理解爲什麼這樣嗎?

這裏是我的第一個片段代碼:

import android.app.Fragment; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.TextView; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 

public class ResourcesFragment extends Fragment { 


    public ResourcesFragment(){ 

    } 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 


     View rootView = inflater.inflate(R.layout.fragment_resources, container, false); 

     TextView text = (TextView) rootView.findViewById(R.id.txtsource); 
     text.setText("your text!"); 

     InputStream is = getResources().openRawResource(R.raw.resources); 
     BufferedReader br = new BufferedReader(new InputStreamReader(is)); 
     String line; 
     String entireFile = ""; 
     try { 
      while((line = br.readLine()) != null) { // <--------- place readLine() inside loop 
       entireFile += (line + "\n"); // <---------- add each line to entireFile 
       //is.close(); 

      } 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     //TextView text = null; 
     //text.setText(entireFile); // <------- assign entireFile to TextView 
     //assert text != null; 
     if (text != null) { 
      text.setText(entireFile); 

     } 

     //return rootView; 
     return rootView; 

    } 
} 

我做的第二個片段同樣的事情,但使用不同的源文件:

import android.app.Fragment; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.TextView; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 

public class TaweedFragment extends Fragment { 

    public TaweedFragment(){} 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 

     View rootView = inflater.inflate(R.layout.fragment_tawheed, container, false); 

     TextView text = (TextView) rootView.findViewById(R.id.txttawheed); 
     //text.setText("your text!"); 

     InputStream is = getResources().openRawResource(R.raw.tawheed); 
     BufferedReader br = new BufferedReader(new InputStreamReader(is)); 
     String line; 
     String entireFile = ""; 
     try { 
      while((line = br.readLine()) != null) { // <--------- place readLine() inside loop 
       entireFile += (line + "\n"); // <---------- add each line to entireFile 

      } 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     //TextView text = null; 
     //text.setText(entireFile); // <------- assign entireFile to TextView 
     //assert text != null; 
     if (text != null) { 
      text.setText(entireFile); 
     } 
     else { 
      text.setText(""); 
      text.setText(entireFile); 
     } 

     //return rootView; 
     return rootView; 
    } 
} 

我在做什麼錯? ? 我試圖關閉流,但沒有奏效。

ironmantis7x

回答

0

我的錯誤是在我的主要活動的java文件的其他設置數組資源。 這是固定的。

IM7X