本文主要是介绍Andriod点击按钮响应方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
点击按钮响应有许多方法,比如下面这种:
布局layout.xml中定义一个id为button的按钮
<Buttonandroid:id="@+id/button"android:layout_width="match_parent"android:layout_height="wrap_content"/>
在活动的java文件中按钮响应代码:Button btn = findViewById(R.id.button);btn.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v){//按钮响应事件}});
上面方法可以实现点击按钮响应,不过在同一个活动中出现多个按钮时,会很麻烦
此时选用下面的方法,感觉能省很多事
import andriod.view.View这一句需要放入文件头,否则下面使用VIew时他不会提示你补全public class test extends AppCompatActivity implements View.OnClickListener{
//其中 implements View.OnClickListener十分重要,他实现了View超类的监听器(一定要在文件头导入View)@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_test);//下面的代码就是获取活动中所有的按键,并且设置监听器监听Button btn = findViewById(R.id.button);btn.setOnClickListener(this);Button btn2 = findViewById(R.id.button2);btn2.setOnClickListener(this);}@Overridepublic void onClick(View v){//通过判断点击的按钮id去实现响应if(v.getId()==R.id.button)Log.i("msg","button 1");else if(v.getId()==R.id.button2)Log.i("msg","button 2");}
}
这是我点击不同按钮后的结果
如果按钮很多可以用switch语句
//注册监听器
public View.OnClickListener listener = new View.OnClickListener() {@Overridepublic void onClick(View view) {Button button = (Button)view;Intent intent = new Intent();switch (button.getId()){case R.id.button1:intent.setClass(MainActivity.this,SecondActivity.class);startActivity(intent);break;case R.id.button2:intent.setClass(MainActivity.this,ThirdActivity.class);startActivity(intent);break;default:}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取按钮Button button1 = findViewById(R.id.button1);Button button2 = findViewById(R.id.button2);//注册监听器button1.setOnClickListener(listener);button2.setOnClickListener(listener);}
这篇关于Andriod点击按钮响应方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!