2010-12-15 2 views
2

나는 각 항목이 sqlite 테이블에있는 행을 가지고 있는데, 한 활동에서 다음 활동으로 클릭 한 항목의 행 ID를 전달하려고한다. 내가 활동 B의 ID를 얻을 selectedRowId인 텐트로 작업 할 때 putExtra/get_Extra를 어떻게 사용합니까?

public Long selectedRowId; 
private String findBudgetQuery = "SELECT BUDGET_AMOUNT FROM CAT_BUD_TAB WHERE _ID='" + selectedRowId + "'"; 

public void FindBudgetForId(){ 
    //This method should query for current budget and.. 
    SQLiteDatabase db = budgetData.getWritableDatabase(); 
    selectedRowId = getIntent().getLongExtra(selectedRowId, 1); 
    db.rawQuery(findBudgetQuery, null); 
} 

에 넣어려고 어디 다음은 메소드 활동가에서 설정하려고 메신저,

public static final int REQUEST_CODE=0; //variable used when i want to startActivityForResult.. 

public void ListItemCommonIntent(long id, View view){ 
    Log.i("Blah", "current item pressed is" + id); 
    Intent keypadIntent = new Intent(view.getContext(), Keypad.class); 
    keypadIntent.putExtra(Keypad.selectedRowId, id); 
    startActivityForResult (keypadIntent, REQUEST_CODE); 
} 

입니다 그리고 여기하지만 난 그냥 질수 그것을 얻으려면, 더 많은 정보가 필요하다고 생각합니다. 누군가가 putExtra를 사용하는 방법에 대해 설명하고 다른쪽에 뭔가를 얻을 수 있습니까? 나는 짝수 메쏘드의 매개 변수를 완전히 이해하지 못한다고 생각한다.

답변

2

putExtra 및 getExtra의 첫 번째 매개 변수는 전달중인 정보를 식별하는 데 사용하는 문자열이어야합니다. 예를 들면 :

intent.putExtra("mySelectedRowId", rowId); 
키가 발견되지 않는 경우는, 디폴트 값 인 두 번째 매개 변수 사용 정보 나중에 가져 오기 위해이 같은 키를 사용할 수 있습니다

:

selectedId = intent.getLongExtra("mySelectedRowId", 1); 
4

추가 필드로 인 텐트를 시작하는 중입니다.

public void onClick(DialogInterface dialog, int id) { 
     Intent intent = new Intent(mContext, org.gpsagenda.DetailsContainer.class); 
     intent.putExtra("id", item.ID()); 
     mContext.startActivity(intent); 
    } 

시작된 활동에 추가 필드 가져 오기. 엑스트라가 설정되지 않은 경우 당신이 null을 얻을 수 있지만

int id = getIntent().getExtras().getInt("id"); 

은 조심!

관련 문제