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
하지만 아무것도 사용하여 문제를 해결할 것 같습니다.
내가 inspectionId이 다른 생각? – njzk2
njzk2 - 명백한 실수가 있음을 나타냅니다. 고맙습니다. 인 텐트에서 전달했을 때 inspectionId에 잘못된 값을 지정했습니다. 많은 감사합니다. – Scamparelli