0

我让这个应用程序从一个活动转到下一个活动。然后回来,但是在它回到我的主要活动之后,再次转到下一个视图的按钮没有任何作用?我以为它来自 startActivityForResult 但我以不同的方式做了它仍然无法正常工作......

这是一些代码:如果按下按钮

if (search.isPressed() && searchPressed == false) {
            // show search list
            switch1 = new Intent(MainActivity.this, SearchActivity.class);
            // startActivityForResult(switch1, 0);
            startActivity(switch1);
        }

在下一个活动中:

private OnItemClickListener listListener = new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        String text = (String) ((TextView) arg1).getText();
        String[] selected = text.split(" - ");
        selected[0] = selected[0].replace(' ', '_');
        Log.w("COMPANY", selected[0]);
        Log.w("PART", selected[1]);

        // Intent data = new Intent(SearchActivity.this,
        // MainActivity.class);
        // data.putExtra("key", selected);
        // setResult(RESULT_OK, data);
        MainActivity.searchData = selected;

        finish();

        // startActivity(switch2);
    }

};

////\ 当项目被推送时,它会返回主屏幕

4

2 回答 2

1

到目前为止,我从您发布的内容中猜测,您实际上是因为 if 语句而不是 startActivity() 而遇到了麻烦。

尝试在此 if 语句中放置日志输出:

if (search.isPressed() && searchPressed == false) {
        Log.d(TAG, "Search has been pressed");
        // show search list
        switch1 = new Intent(MainActivity.this, SearchActivity.class);
        // startActivityForResult(switch1, 0);
        startActivity(switch1);
 }

如果您没有在 log cat 中看到您的输出,那么问题出在 if 语句上。如果您从这里发布更多代码,我可以尝试帮助您解决问题。但你的情况似乎是矛盾的。对我来说,您似乎正在检查是否同时按下和未按下搜索。

发布更多 MainActivity 代码,尤其是在设置 searchPressed 布尔值的地方。

于 2012-01-05T14:40:42.893 回答
0

您的第一部分代码中的两个条件之一将在第一次之后失败。

所以任何一个条件

search.isPressed()

或条件

searchPressed == false

不是真的

于 2012-01-05T14:41:36.717 回答