我正在制作一个Android应用程序,该应用程序由一个主要活动组成,该活动包含通过视图分页器的几个片段。在每个片段中,我在不同的按钮上触发一个onClick事件,并打开一个显示结果的新活动。我曾经用startActivityForResult(intent, ID)
做过一次,我可以放置并获得额外的东西,但是当我从另一个片段中做一个startActivity(intent)
的比喻时,我得到了这个错误:
com.example.myapplication W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@a1f0097
我真的不知道是什么问题,我一直在浏览有关此问题的其他问题,即使以完全不同的方式解决了这些问题,也没有一个对我有用。我将在此处留下一些相关代码:
片段B:
public class FragmentB extends Fragment {
....
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_b, container, false);
....
buttonListener.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (field==null || field.isEmpty()) {
Toast.makeText(fContext, "Error", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent(fragmentContext, NewActivity.class);
intent.putExtra(NewActivity.EXTRA_1, extra1);
intent.putExtra(NewActivity.EXTRA_2, extra2);
startActivity(intent);
}
}
});
return view;
}
}
NewActivity.java
public class NewActivity extends AppCompatActivity {
public static final String EXTRA_1= "com.example.myapplication.EXTRA_1";
public static final String EXTRA_2= "com.example.myapplication.EXTRA_2";
.....
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_activity);
String data= getIntent().getIntExtra(EXTRA_1);
if (!data.isEmpty() && cant!=null){
//do something
}
setTitle("Title 1");
...
}
....
}
我还在日志中看到与此行类似的行:
com.example.myapplication W/e.myapplicatio: Accessing hidden method Landroid/graphics/FontFamily;-><init>()V (light greylist, reflection)
更新:到目前为止,新活动似乎可以正常工作,但是我之前从未在日志中包含这两行,是那些需要修复的错误还是由于这些原因?