android,我如何给这个定义好的layout添加OnTouchListener 触摸事件?,现在没反应啊

publicclassMainActivityextendsActivityimplementsOnTouchListener{privateTextViewsunCal... public class MainActivity extends Activity implements OnTouchListener {

private TextView sunCal, lunarCal, updateTime, realTemp, realWeather;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);
sunCal = (TextView) findViewById(R.id.sunCal);
lunarCal = (TextView) findViewById(R.id.lunarCal);
updateTime = (TextView) findViewById(R.id.updateTime);
realTemp = (TextView) findViewById(R.id.realTemp);
realWeather = (TextView) findViewById(R.id.realWeather);

}

@Override
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(MainActivity.this, "发生触摸事件", Toast.LENGTH_LONG).show();

return true;
}

}
是点击屏幕的任一部分,对于layout来说的
展开
 我来答
彭干彦
2015-10-29 · TA获得超过140个赞
知道小有建树答主
回答量:162
采纳率:85%
帮助的人:126万
展开全部
你这么实现接口。
得先layout.setOnTouchListener(this);
如果是多个得在onTouch方法里加
if(v.getID==你要加事件的id){
Toast.makeText(MainActivity.this, "发生触摸事件", Toast.LENGTH_LONG).show();

}
o几星霜o
2015-10-29 · TA获得超过307个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:166万
展开全部
在onCreate里面这样写:你的layout.setOnTouchListener(this);
更多追问追答
追问

怎么办?

追答
这里的layout是你的整个布局。
比如你的xml布局是:

......

那么在你的onCreate里就要这样写:
LinearLayout layout = (LinearLayout)findViewById(R.id.layout);
layout.setOnTouchListener(this);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式