我正在寫一個android應用程序。需要傳遞int值。我有一個listview它有contextmenu.I必須啓動Intent.Action_Call。當我開始我的意圖。我的應用程序將會背景。當意圖完成後,我的應用程序開始調查。我的問題是;我沒有得到用戶的點擊位置。我試圖插入putExtra但在onActivityResult void不接受我用戶的點擊位置和值的值爲零。如何我能得到它嗎 ?如何在活動重新啓動時將意圖附加項傳遞給onactivity結果?
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
selectedPosition = info.position;
//in here , this value is true.
Toast.makeText(AnaMenu.this, String.valueOf(selectedPosition), Toast.LENGTH_LONG).show();
switch (item.getItemId()) {
case MENU_Ara:
Intent i = getIntent();
final ArrayList<String> secilmis = i.getStringArrayListExtra("listem");
Intent ara = new Intent(Intent.ACTION_CALL);
ara.setData(Uri.parse("tel:" + secilmis.get(info.position).toString()));
ara.putExtra("selected", selectedPosition);
startActivityForResult(ara, AnketDegerlendirmesi);
return true;
}
return super.onContextItemSelected(item);
}
protected void onActivityResult(final int requestCode, int resultCode, final Intent data) {
if (requestCode == AnketDegerlendirmesi){
Toast.makeText(AnaMenu.this,String.valueOf(selectedPosition),Toast.LENGTH_LONG).show();
final AlertDialog.Builder mBuilder = new AlertDialog.Builder(AnaMenu.this);
mBuilder.setTitle("Deger");
mBuilder.setIcon(R.drawable.ic_build_black_24dp);
mBuilder.setMultiChoiceItems(afteractivitydialogitems, dialogcheckeditems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int position, boolean isChecked) {
if (isChecked){
mUserselecteditems.add(Integer.valueOf(dialogdegerleri[position]));
}
if (!isChecked) {
if (mUserselecteditems.contains(Integer.valueOf(dialogdegerleri[position]))){
mUserselecteditems.remove(Integer.valueOf(dialogdegerleri[position]));
}
}
}
});
mBuilder.setCancelable(false);
mBuilder.setPositiveButton("Tamamdır.", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String items = "";
toplamaislemi = 0;
for (int item : mUserselecteditems) {
items += "-" + item + "\n";
toplamaislemi = toplamaislemi + item;
//When i want to get this value.Value is always zero(0)
String returnString = data.getStringExtra("selected");
kullanıcısayıdegerlistesi.remove(String.valueOf(returnString));
kullanıcısayıdegerlistesi.add(Integer.valueOf(returnString),String.valueOf(toplamaislemi));
oyunTextView.notifyDataSetChanged();
}
} ) .show();
}
super.onActivityResult(requestCode, resultCode, data);
}
確定。所以我不能實現這個選定的位置。但我怎麼能得到它?如果我必須創建數據庫我做。我的應用程序的目的是用戶的單擊列表視圖,然後撥打電話號碼,然後設置新值到列表視圖,當電話結束時顯示您調查..如果您有任何文檔的話題。請分享它,它必須找到方法 –
您可以在點擊時記錄數值(例如,共享偏好,數據庫或甚至是活動中的變量),然後在onActivityResult()中使用該值'',或者你可以將你需要保存的值編碼到你的requestCode中(例如使用位掩碼)。 –
如何將值編碼到我的requestCode中。İf它不工作我要共享首選項tag.I理解。 –