我使用项目TileView来显示大图像并在其上添加标记,在android中,它运行良好除了当我在View上放置OnClickListener不起作用时,我使用代码波纹管:
public class MainActivity extends ActionBarActivity implements OnClickListener {
TileView tileView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tileView = new TileView(this);
tileView.setSize( 1066, 678 );
tileView.addDetailLevel( 1.000f, "arc/tiles/arc-%col%_%row%.png", "arc/arc.png");
tileView.setClickable(true);
setContentView( tileView );
tileView.setOnClickListener(this);
}
@Override
public void onClick(View view) {
// thing to do
}
我应该怎么做才能使OnClickListener工作
答案 0 :(得分:1)
TileView
显然定义了TileViewEventListener
接口和addTileViewEventListener()
方法。我建议使用界面的onFingerDown()
和/或onFingerUp()
方法。
答案 1 :(得分:0)
您需要获取用于访问onclick的视图的ID
@Override
public void onClick(View view) {
int viewId = view.getId();
switch (viewId) {
case R.id.button_id:
//do smthing
break;
default:
break;
}
}
答案 2 :(得分:0)
我向图书馆的所有者发送了question,他帮我解决了问题, 像oguzhand建议的那样,我必须使用TileViewEventListener,
下面的代码效果很好(由图书馆TileView的所有者提出)
tileView.addTileViewEventListener( listener );
...
private TileViewEventListenerImplementation listener = new TileViewEventListenerImplementation(){
public void onTap( int x, int y ) {
Log.d( "DEBUG", "tapped" );
}
}