2010-08-25 32 views
0

這是我的logcat日誌:CursorIndexOutOfBoundsException造成烏里

08-25 22:35:27.989: ERROR/AndroidRuntime(327): Caused by: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 3 

這裏是onCreate(Bundle)方法從哪裏獲得光標:

private static final String[] PROJECTION = { 
    Formulas._ID, Formulas.TITLE, Formulas.FORMULA 
}; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Uri uri = getIntent().getData(); 

    Cursor formulaCursor = managedQuery(uri, PROJECTION, null, null, null); 

    String formulaName = formulaCursor.getString(formulaCursor.getColumnIndex(Formulas.TITLE)); 
    String formula = formulaCursor.getString(formulaCursor.getColumnIndex(Formulas.FORMULA)); 

    ((TextView) findViewById(R.id.formula)).setText(formula); 
    ((TextView) findViewById(R.id.formula_name)).setText(formulaName); 
} 

這裏是我真正開始的活動:

public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    Uri formula = ContentUris.withAppendedId(getIntent().getData(), id); 
    startActivity(new Intent(Intent.ACTION_VIEW, formula)); 
} 

我已經擁有了自己的內容提供商,並且已經正確設置了它。

回答

1

你沒有做formulaCursor.moveToFirst()