how to add button click event in android studio

前端 未结 14 1261
面向向阳花
面向向阳花 2020-12-24 11:04

So I have done some research, and after defining you button as an object by the code

private Button buttonname;
buttonname = (Button) findViewById(R.id.butto         


        
相关标签:
14条回答
  • 2020-12-24 11:07
    Button button= (Button)findViewById(R.id.buttonId);
    button.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View view) {
        // click handling code
       }
    });
    
    0 讨论(0)
  • 2020-12-24 11:08

    You need to do nothing but, just type new View.OnClickListener() in your btnClick.setOnClickListener(). I mean you have to type btnClick.setOnClickListener(new View.onClickListener the bracket will remain open, just hit enter then a method will be created like this,

    btnClick.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
    
            }
        });
    

    It's just mean that you are creating a new view of OnClickListener and passing a view as it's a parameter. Now you can do whatever u were supposed to do, in that onClick(View v) method.

    0 讨论(0)
  • 2020-12-24 11:17

    in Activity java class you would need a method first to find the view of the button as :

    btnSum =(Button)findViewById(R.id.button);
    

    after this set on click listener

    btnSum.setOnClickListener(new View.OnClickListener() {
    

    and override onClick method for your functionality .I have found a fully working example here : http://javainhouse.blogspot.in/2016/01/button-example-android-studio.html

    0 讨论(0)
  • 2020-12-24 11:19
    package com.mani.helloworldapplication;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.support.design.widget.FloatingActionButton;
    import android.support.design.widget.Snackbar;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.Toolbar;
    import android.view.View;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class MainActivity extends Activity implements View.OnClickListener {
        //Declaration
        TextView tvName;
        Button btnShow;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
    
            //Empty Window
            super.onCreate(savedInstanceState);
            //Load XML File
            setContentView(R.layout.activity_main);
    
            //Intilization
            tvName = (TextView) findViewById(R.id.tvName);
            btnShow = (Button) findViewById(R.id.btnShow);
    
            btnShow.setOnClickListener(this);
    
        }
    
        @Override
        public void onClick(View v)
        {
            String name = tvName.getText().toString();
            Toast.makeText(MainActivity.this,name,Toast.LENGTH_SHORT).show();
        }
    }
    
    0 讨论(0)
  • 2020-12-24 11:21
    public class MainActivity extends Activity {
    
        Button button;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            button = (Button) findViewById(R.id.submitButton);
            button.setOnClickListener(new MyClass());
    
        }
    
        public class MyClass implements View.OnClickListener {
    
            @Override
            public void onClick(View v) {
    
            }
    
        }
    }
    
    0 讨论(0)
  • 2020-12-24 11:23

    SetOnClickListener (Android.View.view.OnClickListener) in View cannot be applied to (com.helloandroidstudio.MainActivity)

    This means in other words (due to your current scenario) that your MainActivity need to implement OnClickListener:

    public class Main extends ActionBarActivity implements View.OnClickListener {
       // do your stuff
    }
    

    This:

    buttonname.setOnClickListener(this);
    

    means that you want to assign listener for your Button "on this instance" -> this instance represents OnClickListener and for this reason your class have to implement that interface.

    It's similar with anonymous listener class (that you can also use):

    buttonname.setOnClickListener(new View.OnClickListener() {
    
       @Override
       public void onClick(View view) {
    
       }
    });
    
    0 讨论(0)
提交回复
热议问题