首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多重startActivityForResult()

多重startActivityForResult()
EN

Stack Overflow用户
提问于 2016-06-30 08:38:33
回答 1查看 280关注 0票数 0

我需要在我的应用程序中调用这个函数两次,指向两个不同的活动。对于每个调用,我都有一个独特的请求代码,但是我的应用程序似乎每次启动第二个活动时都会崩溃。

下面是我的代码(只有相关部分):MainActivity:

代码语言:javascript
复制
//Request Info vars
static final int GET_DETAILS = 1;
static final int EDIT_DETAILS = 2;

@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {

        public void onMapClick(LatLng latLng) {
            lat = latLng.latitude;
            lon = latLng.longitude;

            startActivityForResult(new Intent(MapsActivity.this,NewMarkerActivity.class), GET_DETAILS);

        }
    });

    mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
        @Override
        public void onInfoWindowClick(Marker marker) {
            current_marker = marker;

            startActivityForResult(new Intent(MapsActivity.this,EditMarkerActivity.class), EDIT_DETAILS);
        }
    });





}
@Override
protected void onActivityResult(int requestCode, int resultCode,
                                Intent data) {
    if (requestCode == GET_DETAILS) {
        if (resultCode == RESULT_OK) {

            String marker_title=data.getStringExtra("title");
            String marker_snippet = data.getStringExtra("snippet");

            addMarker(lat, lon, marker_title, marker_snippet);


            mMap.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(lat, lon)));

        }
    } if (requestCode == EDIT_DETAILS) {
         if (resultCode == RESULT_OK) {    
            String marker_title=data.getStringExtra("title");
            String marker_snippet = data.getStringExtra("snippet");

            current_marker.setTitle(marker_title);
            current_marker.setSnippet(marker_snippet);
          }

        }
    }

EditMarkerActivity:

代码语言:javascript
复制
    public class EditMarkerActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.edit_marker_activity);

        Button save_btn = (Button)findViewById(R.id.btn_save);
        save_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                EditText editName = (EditText)findViewById(R.id.editName);
                String marker_title = editName.getText().toString();

                EditText editSnippet = (EditText)findViewById(R.id.editSnippet);
                String marker_snippet = editSnippet.getText().toString();



                Intent _result = new Intent();
                _result.putExtra("title", marker_title);
                _result.putExtra("snippet", marker_snippet);
                setResult(Activity.RESULT_OK, _result);
                finish();
            }
        });
    }
}

NewMarkerActivity:

代码语言:javascript
复制
    public class NewMarkerActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.new_marker_activity);

        Button save_btn = (Button)findViewById(R.id.btn_save);
        save_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                EditText editName = (EditText)findViewById(R.id.editName);
                String marker_title = editName.getText().toString();

                EditText editSnippet = (EditText)findViewById(R.id.editSnippet);
                String marker_snippet = editSnippet.getText().toString();



                Intent _result = new Intent();
                _result.putExtra("title", marker_title);
                _result.putExtra("snippet", marker_snippet);
                setResult(Activity.RESULT_OK, _result);
                finish();
            }
        });
    }
}

有明显的问题吗?(对此问题的帮助或洞察力将不胜感激:)

下面是Logcat的输出:

代码语言:javascript
复制
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.geekybrackets.virtualtourguide/com.geekybrackets.virtualtourguide.EditMarkerActivity}; have you declared this activity in your AndroidManifest.xml?
EN

回答 1

Stack Overflow用户

发布于 2016-06-30 09:19:39

问题是,我没有在清单文件中定义活动。亲爱的老我,现在我知道要检查我的错误了!

再次感谢各位案子结案了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38117961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档