<wbr><wbr><wbr></wbr></wbr></wbr>

方式一:在activity的onCreate()方法中,嵌入如下代码:

<wbr></wbr>

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

button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
TextView textview = (TextView)findViewById(R.id.textView1);
textview.setText("Button");
}
});

这种方式用findviewbyid通过id实例化出来这个button,然后通过设置button的listener监听对象,并同时实现接口OnClickListenter的OnClick()方法。这种方式的代码量不多,但是在java中,面向对象的思想,关于耦合,模块化它达不到。代码堆叠在一起,比较臃肿。

方式二:让acticity持有TextView,并且新建类Button_Listener实现接口OnClickListener,activity中的代码为:

public class TestOnClickActivity extends Activity {
private TextView textview;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)findViewById(R.id.button1);
this.textview = (TextView)findViewById(R.id.textView1);
button.setOnClickListener(new Button_Listener(this));
}

public TextView getTextview() {
return this.textview;
}
}
类Button_Listener的代码为:
class Button_Listener implements OnClickListener {
private TestOnClickActivity activity;

public Button_Listener(TestOnClickActivity activity) {
this.activity = activity;
}

@Override
public void onClick(View v) {
TextView textview = activity.getTextview();
textview.setText("你点击了Button");

}
}

方式二:

在方式二中,为了改正方式一的接口实现的不规范,特别重新建立了一个类:Button_Listener。

这种方式代码结构清晰,在为Button加入监听方法是,只需要new Button_Listener(this)即可。但同时,我们也能够发现,因为不属于类TestOnClickActivity,所以类Button_Listener必须通过持有TestOnClickActivity, 将其作为成员。并且,我们需要在TestOnClickActivity 中显示的加入TextView,并书写getTextview()方法,才能够实现我们的程序意图。

虽然代码的模块化,解耦化得到了一定程度上的实现,但换来的结果是代码更多,书写更加繁琐。

方式三:在组件文件main.xml中,对Button加入:

android:onClick="onClick_Event"

在activity中加入以下代码:

public void onClick_Event(View view) {
TextView textview = (TextView)findViewById(R.id.textView1);
textview.setText("Button");
}

在方式三种,我们只需要在TestOnClickActivity 中增加一个成员函数onClick_Event(),并在组件文件中加入对其的使用描述即可。

代码结构简单,清晰,代码量也大大减少,并且通过xml文件的可配置性,增长了工程的可维护性,模块化进一步增强!

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
  3. Android(安卓)在Java代码中设置style属性--使用代码创建Progress
  4. [置顶] 【博客目录】 Start here o(∩_∩)o
  5. startService与bindService
  6. UIView的drawRect: 和 - (void)setNeedsDisplay 的一些理解
  7. Android实现从activity中停止Service的方法
  8. Android:监听应用前后台切换及思考
  9. 侦听Android手机ServiceState

随机推荐

  1. Google 正在悄悄解决 Android 的碎片化
  2. Android应用程序的开发
  3. Android(安卓)Studio Wear Demo
  4. Android(安卓)入门第四讲04-小结-Recycle
  5. Android小项目之十二 设置中心的界面
  6. Android(安卓)Activity(活动)
  7. Google:所有含 Android Market 的 Android
  8. Android SDK 2.3与Eclipse最新版开发环境
  9. android 使用handler更新ui,使用与原理分
  10. 看网易和腾讯如何用一套 H5 通杀Android