无法在Android中正确处理Intent

时间:2013-07-26 04:20:49

标签: android android-intent

我正在开发一个数据输入系统,用户可以在其中保存,搜索和更新数据。在这个活动中,我使用EditTexts,微调器和一个按钮(搜索Clinic Names)。当用户完成填充那些EditTexts和微调器时,他可以使用Button搜索Clinic。此按钮将触发另一个活动的意图。

另一个活动有一个EditText(带有TextFilters,可以搜索Clinic)和一个ListView,它在搜索时显示结果。当结果显示时,用户可以单击ListView项目,这将触发上一个活动,并将诊所名称填写到分配给它的EditText。

我的问题是当用户点击ListView项目并转到上一个活动时,来自EditTexts和Spinners的那些数据被清除了!

I want to happen is that, when I search for Clinic Name and goes to the another activity, those data that was already filled-out will not be cleared or lost .

MainActivity.java

    //Getting clinic address
    txt_DClinic.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            Intent myIntent = new Intent(getApplicationContext(), SearchClinicActivity.class);
            startActivity(myIntent);

        }

    });

SearchClinicActivity.java

    listView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> listView, View view,
                int position, long id) {

            TextView tv_clinicId = (TextView) view.findViewById(R.id.textviewId);
            String clinicID = tv_clinicId.getText().toString();

            Intent intent = new Intent(view.getContext(), MainActivity.class);
            intent.putExtra("clinic_id", clinicID);
            intent.putExtra("signal", "2");
            intent.putExtra("from", "SearchClinic");
            intent.putExtra("LoginOrSearch", "ImSearchClinic");
            finish();
            view.getContext().startActivity(intent);
        }

    }); 

2 个答案:

答案 0 :(得分:1)

当您点击列表项并打开意图时。将标志设置为意图。

intent.setFlag(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);

并查看其是否正常工作。

如果它不是尝试一件事就是那样。你是故意传递额外的东西。那时传递edittext的值和微调器的项目号。并且在onCreate方法的主要活动中设置了edittext的文本和额外的。并为微调器设置选定的值。

edtTxt.settext(getIntent().getExtras().get("Text"));
sp.setSelection(getIntent().getExtras().get("Value"));

希望它能帮助!!!

答案 1 :(得分:0)

致电setSaveEnabled(true)或将android:saveEnabled="true"添加到您希望保留数据的视图布局中。

MyEditText.setSaveEnabled(true);

<EditText
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:saveEnabled="true"/>

Spinner或任何其他需要保留数据的视图相同。

相关问题