2015-11-27 128 views
1

我有一个listView,我想在与已被点击的列表项目相对应的行文件夹中显示文本文件。到目前为止我的代码:android listview onclick在原始文件夹中打开文本文件

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
      // TODO Auto-generated method stub 

      String displaytxt = ""; 
      int fileLen = 0; 
       try { 
        InputStream text = null; 

        switch(position) { 
        case 1: 
        text = getResources().openRawResource(R.raw.books1); 
        break; 
        case 2: 
        text = getResources().openRawResource(R.raw.books2); 
        break; 
        case 3: 
         text = getResources().openRawResource(R.raw.books3); 
         break; 
         default: 
          break; 
        } 
      fileLen = text.available(); 
      byte[] fileBuffer = new byte[fileLen]; 

      text.read(fileBuffer); 
      text.close(); 
      displaytxt = new String (fileBuffer); 

       } 
       catch (IOException e) { 

       } 

       tv.setText(displaytxt); 

     } 

但是当我点击列表中的第一个项目,我得到一个错误在模拟器

+2

能否请您提供logcat的? ?能够帮助你 – Tony

+0

你的'文字'可能是空的 – walkmn

+1

发布你的错误,你已经收到.. –

回答

0

尝试改变:

switch(position) { 
    case 0: 
     text = getResources().openRawResource(R.raw.books1); 
     break; 
    case 1: 
     text = getResources().openRawResource(R.raw.books2); 
     break; 
    case 2: 
     text = getResources().openRawResource(R.raw.books3); 
     break; 
    default: 
     text = getResources().openRawResource(R.raw.books1); // paste default book 
     break; 
} 
+0

谢谢你们。把案例0放在第一位。但是,如果我想在另一个活动中打开文本视图,我可以吗?我该如何解决它?我只是一个初学者 –

+0

只需通过意图传递值到下一个活动,请检查以下链接http://stackoverflow.com/questions/32398668/how-to-pass-listview-selected-item-values-to -another活动/ 32398974#32398974 –

相关问题