如果一个文件不存在,那么接下来的所有文件都不会在Java for Android中读取
我想在Android中为操作栏的选项卡添加文本文件。for循环将查看每个文件。如果文件包含内容,则会将其添加为选项卡标题。for循环用于跳过任何不存在的文件。但事实并非如此;如果文件不存在,则不会继续添加选项卡 我知道文件没有损坏,因为当我添加文本文件使其再次存在时,所有文本文件都将变成选项卡如果一个文件不存在,那么接下来的所有文件都不会在Java for Android中读取,java,android,android-actionbar,android-tabs,Java,Android,Android Actionbar,Android Tabs,我想在Android中为操作栏的选项卡添加文本文件。for循环将查看每个文件。如果文件包含内容,则会将其添加为选项卡标题。for循环用于跳过任何不存在的文件。但事实并非如此;如果文件不存在,则不会继续添加选项卡 我知道文件没有损坏,因为当我添加文本文件使其再次存在时,所有文本文件都将变成选项卡 for (addTabPosition = 2; addTabPosition < 11; addTabPosition++) { GetTopics(); i
for (addTabPosition = 2; addTabPosition < 11; addTabPosition++) {
GetTopics();
if(addTabMessage.contentEquals("FileNotFound")){
Log.e("skiper", "file skiped" + addTabPosition);
}else{
switch (addTabPosition) {
case 2:
ActionBar.Tab tab2=actionBar.newTab();
tab2.setText(addTabTitle);
tab2.setTabListener(this);
actionBar.addTab(tab2);
tabNumber++;
break;
case 3:
ActionBar.Tab tab3=actionBar.newTab();
tab3.setText(addTabTitle);
tab3.setTabListener(this);
actionBar.addTab(tab3);
tabNumber++;
break;
case 4:
ActionBar.Tab tab4=actionBar.newTab();
tab4.setText(addTabTitle);
tab4.setTabListener(this);
actionBar.addTab(tab4);
tabNumber++;
break;
case 5:
ActionBar.Tab tab5=actionBar.newTab();
tab5.setText(addTabTitle);
tab5.setTabListener(this);
actionBar.addTab(tab5);
tabNumber++;
break;
case 6:
ActionBar.Tab tab6=actionBar.newTab();
tab6.setText(addTabTitle);
tab6.setTabListener(this);
actionBar.addTab(tab6);
tabNumber++;
break;
case 7:
ActionBar.Tab tab7=actionBar.newTab();
tab7.setText(addTabTitle);
tab7.setTabListener(this);
actionBar.addTab(tab7);
tabNumber++;
break;
case 8:
ActionBar.Tab tab8=actionBar.newTab();
tab8.setText(addTabTitle);
tab8.setTabListener(this);
actionBar.addTab(tab8);
tabNumber++;
break;
case 9:
ActionBar.Tab tab9=actionBar.newTab();
tab9.setText(addTabTitle);
tab9.setTabListener(this);
actionBar.addTab(tab9);
tabNumber++;
break;
case 10:
ActionBar.Tab tab10=actionBar.newTab();
tab10.setText(addTabTitle);
tab10.setTabListener(this);
actionBar.addTab(tab10);
tabNumber++;
break;
}
}
}
}
private void GetTopics() {
// TODO Auto-generated method stub
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "topic" + addTabPosition + ".json");
Log.e("",file.toString());
if (!file.exists()) { // Checks if file exists
addTabMessage = "FileNotFound";
Log.e("NOT FOUND ",file.toString());
}else{
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
addTabTitle = br.readLine();
fileNames[addTabPosition] = file;
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
for(addTabPosition=2;addTabPosition<11;addTabPosition++){
GetTopics();
if(addTabMessage.contentEquals(“FileNotFound”)){
Log.e(“skiper”、“文件跳过”+addTabPosition);
}否则{
开关(添加位置){
案例2:
ActionBar.Tab tab2=ActionBar.newTab();
tab2.setText(addTabTitle);
表2.设置列表器(本);
actionBar.addTab(表2);
tabNumber++;
打破
案例3:
ActionBar.Tab tab3=ActionBar.newTab();
tab3.setText(addTabTitle);
表3.设置列表器(本);
actionBar.addTab(表3);
tabNumber++;
打破
案例4:
ActionBar.Tab tab4=ActionBar.newTab();
tab4.setText(addTabTitle);
表4.设置列表器(本);
actionBar.addTab(tab4);
tabNumber++;
打破
案例5:
ActionBar.Tab tab5=ActionBar.newTab();
tab5.setText(addTabTitle);
表5.设置列表器(本);
actionBar.addTab(表5);
tabNumber++;
打破
案例6:
ActionBar.Tab tab6=ActionBar.newTab();
tab6.setText(addTabTitle);
表6.设置列表器(本);
actionBar.addTab(tab6);
tabNumber++;
打破
案例7:
ActionBar.Tab tab7=ActionBar.newTab();
tab7.setText(addTabTitle);
表7.设置列表器(本);
actionBar.addTab(表7);
tabNumber++;
打破
案例8:
ActionBar.Tab tab8=ActionBar.newTab();
tab8.setText(addTabTitle);
表8.设置列表器(本);
actionBar.addTab(表8);
tabNumber++;
打破
案例9:
ActionBar.Tab tab9=ActionBar.newTab();
tab9.setText(addTabTitle);
表9.设置列表器(本);
actionBar.addTab(tab9);
tabNumber++;
打破
案例10:
ActionBar.Tab tab10=ActionBar.newTab();
tab10.setText(addTabTitle);
表10.设置列表器(本);
actionBar.addTab(tab10);
tabNumber++;
打破
}
}
}
}
私有void GetTopics(){
//TODO自动生成的方法存根
File File=新文件(Environment.getExternalStorageDirectory().getAbsolutePath(),“topic”+addTabPosition+“.json”);
Log.e(“,file.toString());
如果(!file.exists()){//检查文件是否存在
addTabMessage=“FileNotFound”;
Log.e(“未找到”,file.toString());
}否则{
试一试{
FileReader fr=新的FileReader(文件);
BufferedReader br=新的BufferedReader(fr);
addTabTitle=br.readLine();
文件名[addTabPosition]=文件;
br.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
问题在于每次都没有重置字符串addTabMessage。因此,一旦它被设置,它仍然保持该值 您是否在日志文件中看到“文件跳过”消息