我想将文本文件添加到Android中操作栏的标签中。 for循环将查看每个文件。如果文件包含内容,则会将其添加为选项卡标题。 for循环旨在跳过任何不存在的文件。然而事实并非如此;如果文件不存在,则不会继续添加选项卡。
我知道文件没有损坏,因为当我添加文本文件以使其再次存在时,所有文本文件都将转向标签。
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();
}
}
}
答案 0 :(得分:0)
问题是每次都没有重置字符串addTabMessage。所以一旦它被设置,它仍然具有该值。