2015-11-27 164 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 –

相關問題