繁体   English   中英

单击图标时,没有任何反应

[英]When icon clicked, nothing happen

我想使图标可单击,但该应用程序始终崩溃。 我遵循这里,但没有成功。 第一步是必须的吗? 单击图标后,它将进入AlertRadioDialog函数,这意味着应弹出dialog radio 如何实现呢?

      public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            Bundle bundle = this.getArguments();
            fk = bundle.getLong("ab");
            setHasOptionsMenu(true);
            getActivity().getActionBar().setHomeButtonEnabled(true);
            View claims = inflater.inflate(R.layout.claims, container, false);
            android.support.v7.app.ActionBar myActionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
            ImageView imageView = new ImageView(myActionBar.getThemedContext());
            imageView.setScaleType(ImageView.ScaleType.CENTER);
            imageView.setImageResource(R.mipmap.create);
            android.support.v7.app.ActionBar.LayoutParams layoutParams = new android.support.v7.app.ActionBar.LayoutParams(
                    android.support.v7.app.ActionBar.LayoutParams.WRAP_CONTENT,
                    android.support.v7.app.ActionBar.LayoutParams.WRAP_CONTENT, Gravity.RIGHT
                    | Gravity.CENTER_VERTICAL);
            layoutParams.rightMargin = 40;
            imageView.setLayoutParams(layoutParams);
            myActionBar.setCustomView(imageView);
            return claims;
        }

        @Override
        public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
            inflater.inflate(R.menu.my_menu, menu);
            super.onCreateOptionsMenu(menu, inflater);
            //Do what you want with menu - listeners etc.
        }

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
                case android.R.id.home:
                    AlertDialogRadio();
                    return true;
            }
            return (super.onOptionsItemSelected(item));
        }

     public void AlertDialogRadio() {
            final CharSequence[] ClaimsModel = {"A", "B"};

            AlertDialog.Builder alt_bld = new AlertDialog.Builder(getActivity());
            alt_bld.setTitle("Select a Class");
            alt_bld.setSingleChoiceItems(ClaimsModel, -1, new DialogInterface
                    .OnClickListener() {

                public void onClick(DialogInterface dialog, int item) {
                    if (item == 0) {
                        Intent intent = new Intent(getActivity().getApplicationContext(), Project1.class);
                        startActivityForResult(intent, 0);
                    } else if (item == 1) {
                        Intent intent = new Intent(getActivity().getApplicationContext(), Petrol.class);
        }
                       dialog.dismiss();

            }
        });
        AlertDialog alert = alt_bld.create();
        alert.show();
    }
}

错误

11-15 16:42:25.459  20826-20826/com.example.project.project E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.project.project, PID: 20826
    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setHomeButtonEnabled(boolean)' on a null object reference
            at com.example.project.project.Claims1.onCreateView(Claims1.java:34)
            at android.app.Fragment.performCreateView(Fragment.java:2220)

确保在支持操作栏的清单中有该活动的主题。 如果您使用AppCompatActivity,请尝试使用getSupportActionBar()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM