2012-01-05 76 views
0

我让这个应用程序从一个活动转到另一个活动。然后回来,但在它返回到我的主要活动后,再次进入下一个视图的按钮不起任何作用?我认为这是从startActivityForResult,但我做到了用不同的方式和它仍然没有工作...为什么我的活动只运行一次?

下面是一些代码:

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); 
    } 

}; 
:如果按钮被下一个活动推

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

//// \当物品被按下时,它会返回到主屏幕

+0

后一些代码。并检查你的日志猫,看看是否有任何类型的错误被抛出。如果有的话也发布堆栈跟踪。 – FoamyGuy 2012-01-05 14:33:38

+0

对不起,我没有意外地发布它之前,我已经完成了代码现在。我在一秒钟后发布logcat。 – chartle7 2012-01-05 14:34:12

+1

你需要在if语句之前记录search.isPressed()和searchPressed,并看到它们的值 – Lumis 2012-01-05 14:38:50

回答

0

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

因此,无论条件

search.isPressed() 

或条件

searchPressed == false 

是不正确的

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); 
} 

如果你没有看到把你从日志猫那么问题出在if语句。如果您可以尝试帮助解决这个问题,可以从这里附上更多的代码。但似乎你的情况是矛盾的。对我来说,看起来您正在检查是否按下搜索按钮。

发布更多的MainActivity代码,尤其是在设置了searchPressed布尔值的情况下。

相关问题