【问题标题】:method does not override method from its superclass . Android Fragment方法不会覆盖其超类中的方法。安卓片段
【发布时间】:2015-02-01 11:11:35
【问题描述】:

片段1:

public class fragment1 extends Fragment implements View.OnClickListener {
    ImageButton but, but1, but2;
    ImageView view;
    @Override << this one
    public View OnCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View myView = inflater.inflate(R.layout.fragment1, null);
        but = (ImageButton) myView.findViewById(R.id.imageButton11);
        but.setOnClickListener(this);
        but1 = (ImageButton) myView.findViewById(R.id.imageButton1);
        but1.setOnClickListener(this);
        but2 = (ImageButton) myView.findViewById(R.id.imageButton2);
        but2.setOnClickListener(this);
        return myView;
    }

    @Override
    public void onClick(View v) {
        main xxx = (main)getActivity();
        switch (v.getId()) {
       case R.id.imageButton11:
                xxx.str="but1";
                break;
..
            }}

主要:

Fragment frag1 = new fragment1();
    fr1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    fTrans = getFragmentManager().beginTransaction();
                    fTrans.replace(R.id.frameLayout2, frag1);
                    fTrans.addToBackStack(null);
                    fTrans.commit();
                }
            });

method 不会覆盖 Fragment1 中其超类中的方法(第一次覆盖) 但没有“实现 View.OnClickListener”它可以工作

【问题讨论】:

  • 你说的是哪种方法??点击?你能告诉我们你的进口吗??
  • 第一个,在fragment1中
  • 你能展示你的进口吗?
  • -导入android.app.Fragment;导入android.app.FragmentTransaction;导入android.content.res.Resources;导入android.graphics.Bitmap;导入android.graphics.Canvas;导入 android.graphics.drawable.Drawable;导入 android.graphics.drawable.LayerDrawable;导入android.os.Bundle;导入android.util.Log;导入 android.view.LayoutInflater;导入android.view.View;导入android.view.ViewGroup;导入android.widget.Button;导入android.widget.ImageButton;导入android.widget.ImageView;导入 android.widget.Toast;

标签: java android android-fragments overriding onclicklistener


【解决方案1】:

拼写错误。将方法命名为 onCreateView 而不是 OnCreateView

【讨论】:

  • 感谢您的提问和回答!我在半小时内犯了同样的错误:OnStart vs. onStart :)
【解决方案2】:

我不熟悉android sdk,但我认为您需要这样的东西

Fragment frag1 = new fragment1(){
         @Override
         public void onClick(View view) {
              fTrans = getFragmentManager().beginTransaction();
              fTrans.replace(R.id.frameLayout2, frag1);
              fTrans.addToBackStack(null);
              fTrans.commit();
         }
 };

【讨论】:

    【解决方案3】:

    返回你的膨胀视图

    public View onCreateView(.....) {
    ...
    ...
    
    return InputFragmentView;
    }
    

    并将 OnCreateView 更改为 onCreateView。 你可以点击 ctrl+o 来准备它^^

    【讨论】:

      【解决方案4】:

      就我而言,我没有从 Fragment 扩展它。确保从 Fragment 类扩展您的片段。

      public class fragment1 extends Fragment implements View.OnClickListener {
         @Override
      ///   public View onCreateView.......
      }
      

      【讨论】:

        猜你喜欢
        • 2016-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-08
        相关资源
        最近更新 更多