寫在最前:
TextView也可以設置點擊監聽事件。但是會有一个小小的限制。那就是在Android里,默认有一个给TextView的属性是为false的。我们只需要将这个属性改为true即可:
android:clickable="true"
通常对布局中的组件添加点击监听事件时,一个比较成熟与美观的做法是,让你的Activity实现onClicklistener这个接口,并且实现他的onClick方法。在这个方法中,通过判断布局中的每一项的ID来进行点击事件的响应。话不多说,让我们来撸代码:
<TextView android:id="@+id/tv_ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:clickable="true" android:onClick="onClick" android:text="@string/hello_world" /> <Button android:id="@+id/bt_ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/tv_ok" android:onClick="onClick" android:text="hello" />
在这里,不管你是相对布局也好,还是线性布局也好。我们只需要这两个小伙计来实现我们需要的功能。这是布局中的代码,呈现如上;而逻辑部分,也就i是java代码部分,展示如下:
public class MainActivity extends Activity implements OnClickListener {
TextView textView;
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
public void init() {
textView = (TextView) findViewById(R.id.tv_ok);
btn = (Button) findViewById(R.id.bt_ok);
}
@Override
public void onClick(View v) {
// TODO 自动生成的方法存根
if (v.getId() == R.id.tv_ok) {
textView.setText("ok");
}
}
}
通常按照这种方式来组织代码的人,他们的逻辑思维比较高,而且对于代码的艺术欣赏能力比较强,通常都能够有条不紊的来进行代码的书写(规范产生美O(∩_∩)O)
Tips:
将在*输入语言之间的切换*的快捷键改为ctrl+shift,这样,在你想要进行Eclipse的代码格式化时,先按下ctrl+shift,再按下ctrl+shift+f就能打到你想要的效果。而两者之间的时间间隔仅仅只是300毫秒而已。
这里是百度经验,7步解决ctrl+shift+f快捷键冲突,大家可以参考配置。