【发布时间】:2011-10-17 21:53:22
【问题描述】:
我正在尝试寻找一种方法来检查是否检查了横幅(广告),但它更难接缝。
我试过了
adView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//TODO
}
});
但它不起作用(我放了一个调试打印但它不起作用..)
然后我尝试创建一个 LinearLayout 来包装 adView 并将监听器放在线性布局上,但它仍然没有工作。
然后我尝试创建一个包含所有显示的更大布局,并在其中添加了 adView。我想在其中放置一个 onTouchListener 并检查坐标,以检查是否按下了添加。但我真的不明白如何找到我的横幅的正确坐标(我创建了一个方法来获取 x 和 y 偏移以及用于放置横幅的重力)来检查,我真的希望存在更好的方法.另外我发现如果我按下横幅,该方法不会被执行,但只有在屏幕的其他部分被按下时才会执行。
那么,有什么方法可以知道吗?我不关心横幅页面是否已加载,或者是否重定向到市场或浏览器,我只需要知道横幅是否被按下。
也许设置一个在触摸屏幕时运行的检查,然后检查是否运行了listner方法,如果没有运行,则触摸横幅可以工作,但我不知道如何实现它..
知道怎么做吗?
谢谢
【问题讨论】:
-
我认为您只需在广告横幅中添加一个
OnTouchListener。当onTouch被调用时,它被点击了。无需检查坐标。 -
@stevehb 你试过了吗?在我这边,我已经尝试过了,但它没有用。可能是因为触摸被传递给处理横幅的活动,并且没有为触摸输入提供任何回调
-
我之前在视图中添加
OnClickListener而不是OnTouchListener时遇到过麻烦。点击监听器从来没有得到输入,但触摸有,我认为这可能是你的问题。另外,我认为Activity不会进行任何输入处理。如果您可以发布一个加载横幅视图、添加触摸侦听器但仍然无响应的示例 Activity,则更容易确定。
标签: java android touch listener