我的应用程序有小问题。 startActivity(Intent intent)
不起作用。
switch (id) {
case R.id.action_add:
if (auth.getCurrentUser() != null) {
if (vf.getDisplayedChild() > 0 && vf.getDisplayedChild() < 3) {
Intent intent = new Intent(MainActivity.this, SubmitActivity.class);
intent.putExtra("category", vf.getDisplayedChild());
startActivity(intent);
Toast.makeText(this, "You are about to create record", Toast.LENGTH_SHORT).show();
}
}
break;
case R.id.action_save:
saveList("monuments", monument_data);
saveList("ski_resorts", ski_data);
Toast.makeText(this, "Data saved for offline use", Toast.LENGTH_SHORT).show();
break;
}
实际上,应该只说出不满足声明的条件,但实际上,显示
startActivity
之后的祝酒词是正确的。我也有意在framelayout
上的recyclerview适配器中单击,但这里的意向也无法正常工作。我还可以提到我有共享对象动画的意图(不是相同的意图)。
有人知道怎么了吗?切换语句中的意图(如上所示)一直起作用,直到我将意图添加到了recyclerview中,请帮助。
EditActivity:
public class EditActivity extends AppCompatActivity {
FirebaseAuth auth;
DatabaseReference ref, target;
StorageReference storage;
ProgressDialog dialog;
@BindView(R.id.imageView8)
ImageView main_image;
@BindView(R.id.input_title)
EditText title;
@BindView(R.id.input_desc)
EditText desc;
@BindView(R.id.input_location)
EditText location;
@BindView(R.id.switch1)
Switch isPublic;
@BindView(R.id.switch2)
Switch isFree;
@BindView(R.id.input_price)
EditText price;
@BindView(R.id.button3)
Button send;
public static final int PICK_IMAGE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit);
ButterKnife.bind(this); . . . }}
SubmitActivity:
public class SubmitActivity extends AppCompatActivity {
FirebaseAuth auth;
DatabaseReference ref, target;
StorageReference storage;
ProgressDialog dialog;
@BindView(R.id.imageView8)
ImageView main_image;
@BindView(R.id.input_title)
EditText title;
@BindView(R.id.input_desc)
EditText desc;
@BindView(R.id.input_location)
EditText location;
@BindView(R.id.switch1)
Switch isPublic;
@BindView(R.id.switch2)
Switch isFree;
@BindView(R.id.input_price)
EditText price;
@BindView(R.id.button3)
Button send;
public static final int PICK_IMAGE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_submit);
ButterKnife.bind(this); . . . }}
选择选项时,将显示用“意图”过滤的部分:
01-11 18:37:13.918 22224-22239 /? I / ActivityManager:从显示0的uid 10883开始u0 {flg = 0x8000 cmp = com.ready.slovakia / .SubmitActivity(具有其他功能)}
01-11 18:37:14.122 22224-22251 /? I / WindowManager:获得焦点:Window {8f13679 u0 com.ready.slovakia / com.ready.slovakia.MainActivity}
最佳答案
根据我们关于聊天和调试的讨论,这是问题所在:
您在第78行的SubmitActivity.java
中有if (auth.getCurrentUser() != null) finish();
,当用户通过身份验证并登录后,该活动将完成。应改为if (auth.getCurrentUser() == null) finish();
。
但是理想情况下,不会出现此问题,因为您正在检查MainActivity.java
的第390行的相同条件,这将防止在用户未登录时启动SubmitActivity
的意图。