2010-12-15 9 views
2

私は各項目がsqliteテーブルの行であるリストを持っています。私は、クリックした項目の行IDをあるアクティビティから次のアクティビティに渡そうとしています。しかし、私はちょうどカント インテントを操作するときに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); 
} 
はここで、アクティビティAに設定しようとしている方法イムだ私は活動bでIDを取得しようとしているところ

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); 
} 

そして、ここだとselectedRowId

に入れますそれを働かせて、私はもっと情報が必要だと思う、誰かがputExtraの使い方を説明して、相手に何かを得ることができる。私は偶数メソッドのパラメータを完全に理解していないと思う。

答えて

2

putExtraとgetExtraの最初のパラメータは、渡す情報を識別するために使用する文字列である必要があります。たとえば:

intent.putExtra("mySelectedRowId", rowId); 

あなたは2番目のパラメータは鍵が見つからない場合に使用するデフォルトの値で、後から情報を取得するために、この同じキーを使用することができます。

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"); 

は気をつけろ!

関連する問題