2012-09-17 2 views
0

커서 사용과 관련하여 혼동을줍니다.커서를 두 번 만들 때 발생하는 문제

public class AreaActivity extends ListActivity { 

private TextView secondaryTitle; 
private Button newArea; 
private static final int ACTIVITY_CREATE=0; 

private RMDbAdapter rmDbHelper; 
private AlertDialog clickOptionsDialog; 
private long inspectionId; 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_area); 
    rmDbHelper = new RMDbAdapter(this); 
    rmDbHelper.open(); 
    Intent i = getIntent(); 
    inspectionId = i.getLongExtra("Intent_InspectionID", -1); 
    setUpViews(); 
    setLongClick(); 

    // Get a Cursor for the list items 
    Cursor listCursor = rmDbHelper.fetchAllAreasForInspection(inspectionId); 
    startManagingCursor(listCursor);   

    // set the custom list adapter  
    setListAdapter(new MyListAdapter(this, listCursor)); 



} 

private void setUpViews() { 
    secondaryTitle = (TextView)findViewById(R.id.secondary_title); 
    final Cursor cursor = (Cursor) rmDbHelper.fetchInspection(inspectionId); 
    String inspectionRef = RMUtilities.notEmpty(cursor.getString(cursor.getColumnIndex( 
      RMDbAdapter.INSPECTION_REF)), "Reference unknown"); 
    String companyName = RMUtilities.notEmpty(cursor.getString(cursor.getColumnIndex( 
      RMDbAdapter.INSPECTION_COMPANY)), "company unknown"); 
    cursor.close(); 
    final String secondaryTitleText = inspectionRef + ", " + companyName; 
    secondaryTitle.setText(secondaryTitleText); 
    newArea = (Button)findViewById(R.id.new_area); 
    newArea.setOnClickListener(new View.OnClickListener() {      
     public void onClick(View v) { 
      createArea(); 
     } 
    }); 

} 

커서가 확인 후 추천대로 별도의 클래스에 코드를 사용하여 (비어 있지 검사 데이터베이스에서 정보를 가져옵니다 다음과 같이

내가 잘 작동 하나 개의 활동이 코드는 이 사이트의 나를), 텍스트를 TextView에 설정합니다. 저도 같은 일을하기 위해 다음 활동이 정확한 코드를 사용할 때

그러나, 나는 오류가 발생합니다 :

CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0..

코드는 동일합니다, 그래서 중복으로이 문제가되는 것 같아요 커서 또는 moveToFirst하지만 아무것도 사용하여 문제를 해결할 것 같습니다.

+0

내가 inspectionId이 다른 생각? – njzk2

+0

njzk2 - 명백한 실수가 있음을 나타냅니다. 고맙습니다. 인 텐트에서 전달했을 때 inspectionId에 잘못된 값을 지정했습니다. 많은 감사합니다. – Scamparelli

답변

0

는 njzk2에 문제 덕분에 발견 - 바보 같은 오류가 나는 텐트에 inspectionId을 통과 할 때 ..

관련 문제