Fragment implements OnClickListener

后端 未结 4 831
醉话见心
醉话见心 2020-12-29 06:19

I\'ve got an application that I\'m modernizing. One step of this process is changing to a Fragment based layout (using the Fragments from the support library). I converted m

相关标签:
4条回答
  • 2020-12-29 06:55

    Just do one this

    public class fragmentOne extends Fragment implements OnClickListener {
        Button myButton;
    
        @Override
        public View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedinstanceState) {
            View myView = inflater.inflate(R.layout.fragment_1, container, false);
            myButton = (Button) myView.findViewById(R.id.myButton);
            myButton.setOnClickListener(this);
            return myView;
        }
    
        @Override
        public void onClick(View v) {
            // implements your things
        }
    }
    

    very simple

    0 讨论(0)
  • 2020-12-29 07:01

    I want to comment on Abhijit Chakra answer but it seems that I need to have 50 reps for that. For those who are wondering if you can't use Abhijit's answer, it is because of:

    public void OnClick(View v) {
        // implements your things
    }
    

    You need to make sure that it is onClick, NOT OnClick. Thankfully Android Studio internal error message come to rescue.

    0 讨论(0)
  • 2020-12-29 07:11
    view.setOnLongClickListener(new View.OnLongClickListener() {
      @Override
      public boolean onLongClick(View v) {
        switch (v.getId()) {
          case R.id.imgView1:
            Toast.makeText(getActivity(), "Long pressing", Toast.LENGTH_SHORT).show();
            updateImage();
            break;
          case R.id.imgView2:
            Toast.makeText(getActivity(), "Long pressing", Toast.LENGTH_SHORT).show();
            updateImage();
            break;
          case R.id.imgView3:
            Toast.makeText(getActivity(), "Long pressing", Toast.LENGTH_SHORT).show();
            updateImage();
            break;
          default:
            break;
        }
    
    0 讨论(0)
  • 2020-12-29 07:13

    I will Focus to use the OnClick action for global access, You have to do like this is your project, Must Implement the View.OnClickListener, then Override the Method OnClick(), In OnCreateView() have to do like this button_submit.setOnClickListener(this); for the Views you need, Please see the below code for Clear Answer,Thankyou.

    public class New_Project extends Fragment implements View.OnClickListener{
    private View mView;
    private Button button_submit;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        mView = inflater.inflate(R.layout.fragment_newproject, container,false);
        button_submit=(Button)mView.findViewById(R.id.button_submit);
        button_submit.setOnClickListener(this);
        return mView;
    }
    
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.button_submit:
                //do your stuff
                break;
        }
    }
    

    }

    0 讨论(0)
提交回复
热议问题