Android 为什么我的活动只运行一次?
我让这个应用程序从一个活动转到下一个活动。然后再回来,但是在它回到我的主要活动之后,再次转到下一个视图的按钮没有任何作用?我以为这是startActivityForResult的结果,但我用了另一种方式,它仍然不起作用 下面是一些代码:如果按下按钮Android 为什么我的活动只运行一次?,android,android-activity,switching,Android,Android Activity,Switching,我让这个应用程序从一个活动转到下一个活动。然后再回来,但是在它回到我的主要活动之后,再次转到下一个视图的按钮没有任何作用?我以为这是startActivityForResult的结果,但我用了另一种方式,它仍然不起作用 下面是一些代码:如果按下按钮 if (search.isPressed() && searchPressed == false) { // show search list switch1 = new Intent(
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);
}
};
private-OnItemClickListener-listListener=new-OnItemClickListener(){
@凌驾
公共视图单击(AdapterView arg0、视图arg1、整型arg2、长型arg3){
字符串text=(字符串)((TextView)arg1.getText();
所选字符串[]=text.split(“”);
所选[0]=所选[0]。替换(“”,“”);
Log.w(“公司”,选择[0]);
Log.w(“部分”,选择[1]);
//意向数据=新意向(SearchActivity.this,
//主要活动(课堂);
//数据。putExtra(“键”,选中);
//设置结果(结果正常,数据);
MainActivity.searchData=已选择;
完成();
//星触觉(开关2);
}
};
////\当项目被按下时,它会返回到主屏幕根据您目前发布的内容,我猜测您实际上遇到了问题,是因为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);
}
如果您没有在日志cat中看到输出,那么问题在于If语句。如果你发布更多的代码,如果我能帮你解决的话。但你的情况似乎有矛盾。在我看来,您正在检查搜索是否同时按下和未按下
多发布一点MainActivity代码,尤其是设置了searchPressed布尔值的地方。第一部分代码中的两个条件之一将在第一次之后失败 所以无论哪种情况
search.isPressed()
searchPressed == false
或条件
search.isPressed()
searchPressed == false
不正确发布一些代码。并检查您的日志猫,看看是否有任何类型的错误被抛出。如果有从那也张贴堆栈跟踪。对不起,我不小心张贴之前,我做了代码现在是。我马上发布logcat。您需要在if语句之前记录search.isPressed()和searchPressed,并查看它们的值。。。我现在觉得自己很笨。。。我忘记设置searchPressed=false,因为它的条件不再需要了@Lumis将您的评论作为答案发布。不,我只是在按下serachPressed=true后的某个地方设置了它。我只是忘了做…:/