-1

可能重复:
Android 替换字符串

下面是我的列表视图。数据从 sdcard 收集并列在列表视图中。但是从 sdcard 中检索到的文件名以“.txt”结尾 如何从列出的文件名中删除“.txt”?

mainListView = (ListView) getActivity().findViewById( R.id.mainListView );

            myList = new ArrayList<String>();



                File sdCard = Environment.getExternalStorageDirectory();
                file = new File(sdCard.getAbsolutePath() + "/St/") ;       
                File list[] = file.listFiles();

                for( int i=0; i< list.length; i++)
                {
                        myList.add( list[i].getName() );
                }



                listAdapter = new ArrayAdapter<String>(getActivity(),R.layout.simplerow, myList);

                mainListView.setAdapter( listAdapter );  

                mainListView.setOnItemClickListener(new OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view,
                            int position, long id) {
                        // TODO Auto-generated method stub
                        String textToPass = myList.get(position);
                                Intent i = new Intent(getActivity(), ViewActivity.class);                      
                                i.putExtra("textToPass", textToPass);
                                startActivity(i);
                    }
                });
4

4 回答 4

0

".txt"检索文件名时替换它,然后将其设置在列表中。

 for( int i=0; i< list.length; i++)
     {
         String fileName = list[i].getName();
         if(fileName.contains(".txt")){
              fileName = fileName.replace(".txt", "");
         }
         myList.add( fileName );
      }
于 2012-12-24T08:56:17.320 回答
0

我会使用 Java String Substring 方法。

在此处查看该方法和其他字符串方法。 http://www.tutorialspoint.com/java/java_strings.htm

于 2012-12-24T08:57:03.523 回答
0

试试下面的代码,它一定对你有帮助

if(list[i].getName().equalsIgnoreCase(".txt")){

    String[] strrwmoverar=list[i].getName().toString().split("//.");
     myList.add( strrwmoverar[0] );
 }
else{

      myList.add( list[i].getName() );
   }
于 2012-12-24T09:00:05.443 回答
0

myList.add(list[i].getName().replaceAll("\.txt$", ""));

于 2012-12-24T09:13:26.030 回答