我正在写一个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理解。 –