我正在制作一个Android应用,并且试图在一个片段中创建一个弹出窗口,我已经创建了弹出窗口和类的XML,但是当我尝试实际使用操作弹出窗口的按钮时,应用程序崩溃。
-这是片段-
private Button Btn;
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_eventos, container, false);
Button btn = (Button) view.findViewById(R.id.boton);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), pop_eventos.class);
startActivity(intent);
}
});
return view;
-这是Java类“ pop_eventos”-
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pop_eventos);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.heightPixels;
getWindow().setLayout((int) (width*.8),(int) (height*.7));
}
我还在Android清单中添加了该活动,所以我真的不知道出了什么问题,我是learningig java,所以欢迎提出任何建议,谢谢。
-这是错误-
E / AndroidRuntime:致命异常:主要流程:com.example.paravideo,PID:10342java.lang.RuntimeException:无法实例化活动ComponentInfo {com.example.paravideo / com.example.paravideo.ui.evento.pop_eventos}:java.lang.IllegalAccessException:无法从java.lang访问java.lang.Class。类在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3268)在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3488)在android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)在android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2049)在android.os.Handler.dispatchMessage(Handler.java:106)在android.os.Looper.loop(Looper.java:216)在android.app.ActivityThread.main(Ac
请将onCreate()
的pop_eventos
功能更改为public
,并如下所示将pop_eventos
设置为public
。
public class pop_eventos extends Activity {
.....