如果用户犯了任何错误,如何呈现相同的活动?

时间:2014-04-16 05:39:32

标签: android android-intent android-activity

我正在开展一项有多项活动的项目。在那个名为FindActivity的活动中,我使用了两个编辑文本和一个按钮。如果用户在点击按钮上同时输入编辑文本,则会将这两个数据记录到下一个活动中。如果用户输入任何值,则点击按钮必须提供祝酒或警报,并且必须显示相同的FindActivity .except转到我的下一个活动。

现在我正在使用intent()。还有其他办法吗?

shwBtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                AutoCompleteTextView city1 = (AutoCompleteTextView) findViewById(R.id.autoCity);
                EditText area1 = (EditText) findViewById(R.id.edArea);

                String aCity = city1.getText().toString();
                String aArea = area1.getText().toString();

                if ((aCity.matches("")) && (aArea.matches(""))) {
                    Toast.makeText(getBaseContext(),
                            "Please Enter both city and area", Toast.LENGTH_SHORT)
                            .show();
                    Intent myInt = new Intent(getApplicationContext(),
                            SearchActivity.class);
                    startActivity(myInt);
                } else {
                    Intent myInt = new Intent(getBaseContext(),
                            Map1Activity.class);

                    String city = city1.getText().toString();
                    String area = area1.getText().toString();
                    myInt.putExtra("city", city);
                    myInt.putExtra("area", area);
                    startActivity(myInt);

                }
            }
        });

2 个答案:

答案 0 :(得分:1)

不要在if语句中启动任何活动 - 因此它始终保持在同一个活动中。

试试这个 -

if (aCity.length()==0 && length()==0) {
                    Toast.makeText(getBaseContext(),
                            "Please Enter both city and area", Toast.LENGTH_SHORT)
                            .show();
                   //dont start any activity from here.
                } else {
                    Intent myInt = new Intent(getBaseContext(),
                            Map1Activity.class);

                    String city = city1.getText().toString();
                    String area = area1.getText().toString();
                    myInt.putExtra("city", city);
                    myInt.putExtra("area", area);
                    startActivity(myInt);

                }

答案 1 :(得分:0)

if ((aCity.matches("")) && (aArea.matches(""))) {
              ......
          .....     
                } 

而不是您的上述条件使用以下代码

if(aCity.length()!=0 && aArea.length()!=0){
 Toast.makeText(getApplicationContext(), "Please enter data to proceed ... !",Toast.LENGTH_LONG).show();
}