我有两项活动。一个人的表格很少EditText
秒。这些输入中的值应来自主列表,因此,在EditText的焦点上,我将控件带到另一个使用' android.support.v7.widget.SearchView with a
ListView的活动`
EditText的OnFocus我使用以下代码调用SearchActivity:
ETVehicleRegnLoc.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
startActivity(new Intent(getApplicationContext(), SearchActivity.class).putExtra("fieldName","RegnNum"));
}
}
});
选择值后,我将使用以下代码
发回值 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Intent intent = new Intent(SearchActivity.this , VehicleActivity.class);
Bundle bundle = new Bundle();
bundle.putString("SelectedVal", dataArray.get(arg2).toString());
intent.putExtras(bundle);
startActivity(intent);
// Toast.makeText(SearchActivity.this, dataArray.get(arg2).toString(), Toast.LENGTH_SHORT).show();
}
});
这很好用。但是因为我通过VehicleActivity
调用Intent
,它清除了已经输入的整个值的形式。
但是当我按下&#34;返回&#34;移动设备上的按钮,值仍然存在。但是没有达到前往SearchActivity
的目的:)
我想我必须模拟后按钮按下。我该怎么办?
答案 0 :(得分:1)
使用
startActivityForResult(new Intent(getApplicationContext(), SearchActivity.class).putExtra("fieldName","RegnNum"),2);
而不是
startActivity(new Intent(getApplicationContext(), SearchActivity.class).putExtra("fieldName","RegnNum"));
在onItemClickListener中执行
Intent intent=new Intent();
intent.putExtra("MESSAGE",message);
setResult(2,intent);
finish();
获取VehicleActivity的OnActivityForResult
中的数据