2016-07-20 1 views
0

これはコードです。私はアンドロイドapp.Hereの配列インデックスは、そのアプリケーションがクラッシュです。ビューのボタンをクリックしたときに配列インデックスが外に出る

private void displayAvailableProjects() { 
    projectList = databaseHelper.getAllProjects(); 
    if (projectList.size() >= 0) { //here chnages = 
     projectViewContainer.setVisibility(View.VISIBLE); 
     ArrayList<String> projects = new ArrayList<>(); 
     projects.add("Previous Report"); 
     for (ProjectEntity project : projectList) { 
      projects.add(project.getProjectName()); 
     } 
     ArrayAdapter<String> projectListAdapter = 
       new ArrayAdapter<String>(Projectinfo.this, android.R.layout.simple_list_item_1, projects); 
     spinnerProject.setAdapter(projectListAdapter); 
     spinnerProject.setSelected(false); 
    } else { 
     projectViewContainer.setVisibility(View.GONE); 
    } 
} 
if (spinnerProject.getSelectedItemPosition() !=0) 
        openProjectFeedbackActivity(projectList.get(spinnerProject.getSelectedItemPosition()).getProjectId()); 
+0

コードを 'try'-' catch'ブロックに置きます。 –

+1

完全なコードを表示し、可能であればログを指定します。 – Drv

+0

if(projectList.size()> 0)....この行に変更... remove = –

答えて

0
if (projectList.size() >= 0) 

この行は問題です。

private void displayAvailableProjects() { 
try{ 
    projectList = databaseHelper.getAllProjects(); 

    if (projectList.size() > 0) { //here chnages = 
     projectViewContainer.setVisibility(View.VISIBLE); 
     ArrayList<String> projects = new ArrayList<>(); 
     projects.add("Previous Report"); 
     for (ProjectEntity project : projectList) { 
      projects.add(project.getProjectName()); 
     } 
     ArrayAdapter<String> projectListAdapter = 
      new ArrayAdapter<String>(Projectinfo.this,android.R.layout.simple_list_item_1, projects); 
     spinnerProject.setAdapter(projectListAdapter); 
     spinnerProject.setSelected(false); 
    } else { 
    projectViewContainer.setVisibility(View.GONE); 
    } 
}catch(Exception e){ 
    e.printstack(); 
} 
} 
if (spinnerProject.getSelectedItemPosition() !=0)openProjectFeedbackActivity(projectList.get(spinnerProject.getSelectedItemPosition()).getProjectId()); 
+0

問題が解決するかどうかを確認します –

0

にリスト

変更して表示しています。データベースから正しいデータを取得しているかどうかを確認してください。

+0

Unfrotunatelyアプリケーションが停止しました – Koms

+0

致命的例外:メインjava.lang.IndexOutOfBoundsException:無効インデックス1、サイズは1 java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255java.util.ArrayList.get(ArrayList.java:308) com.agreindia.passionchecklist.Projectinfo.onClick(Projectinfo.java:245) android.view.View.performClick(View.java:5201) android.view.View $ PerformClick.run(View.java:21163) – Koms

+0

これは機能していません。 – Koms

0

projectList = databaseHelper.getAllProjects();このラインはあなたの問題かもしれないが、あなたのprojectListサイズが0で、まだあなたはこれを試してみてください

if (projectList.size() > 0) 
関連する問題