Android-从res/raw中的textfile在片段中填充textView
我正试图在android应用程序中的选项卡式布局中的片段中填充TextView。我已经看了2,但是一旦应用程序在指定的空间中运行,文件中的文本就不会出现在屏幕上 你觉得我错过了什么?谢谢 片段Android-从res/raw中的textfile在片段中填充textView,android,android-fragments,Android,Android Fragments,我正试图在android应用程序中的选项卡式布局中的片段中填充TextView。我已经看了2,但是一旦应用程序在指定的空间中运行,文件中的文本就不会出现在屏幕上 你觉得我错过了什么?谢谢 片段 import android.os.Bundle; import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.V
import android.os.Bundle;
import android.support.annotation.Nullable;
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 Tab1_Fragment extends android.support.v4.app.Fragment {
InputStream is;
BufferedReader br;
String entireFile;
TextView text;
View rootview;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
rootview = inflater.inflate(R.layout.tab1_fragment,container,false);
is = getResources().openRawResource(R.raw.test1);
br = new BufferedReader(new InputStreamReader(is));
String line;
entireFile = "";
try {
while ((line = br.readLine()) != null) {
entireFile = entireFile + (line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
}
TextView textView = null;
if (textView != null) {
text = (TextView) rootview.findViewById(R.id.textTab1);
text.setText(entireFile);
}
return rootview;
}
}
主要活动
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "Tab Main Screen";
private SectionsPageAdapter mSectionsPageAdapter;
private ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSectionsPageAdapter = new SectionsPageAdapter(getSupportFragmentManager());
// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.container);
setupViewPager(mViewPager);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
}
private void setupViewPager(ViewPager viewPager) {
SectionsPageAdapter adapter = new SectionsPageAdapter(getSupportFragmentManager());
adapter.addFragment(new Tab1_Fragment(), "Tab1");
adapter.addFragment(new Tab2_Fragment(), "Tab2");
adapter.addFragment(new Tab3_Fragment(), "Tab3");
adapter.addFragment(new Tab4_Fragment(), "Tab4");
viewPager.setAdapter(adapter);
}
}
选项卡XML(所有选项卡都相同)
如果
有错误的,textview
wll始终为空,如果将不会执行
if (textView == null) {
text = (TextView) rootview.findViewById(R.id.textTab1);
text.setText(entireFile);
}
或者textView
和text
都不同,所以使用text
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
rootview = inflater.inflate(R.layout.tab1_fragment,container,false);
is = getResources().openRawResource(R.raw.test1);
br = new BufferedReader(new InputStreamReader(is));
String line;
entireFile = "";
try {
while ((line = br.readLine()) != null) {
entireFile = entireFile + (line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
}
if(text==null){
text = (TextView) rootview.findViewById(R.id.textTab1);
}
text.setText(entireFile);
return rootview;
}
您已经在初始化为null
TextView textView = null;
if (textView != null) {
text = (TextView) rootview.findViewById(R.id.textTab1);
text.setText(entireFile);
}
如果textView被初始化为null,那么后续的If()将如何执行
text = (TextView) rootview.findViewById(R.id.textTab1);
text.setText(entireFile);
对此进行更改,如果不需要
text = (TextView) rootview.findViewById(R.id.textTab1);
text.setText(entireFile);