Android Can';不要在TileView上使用OnClickListener

Android Can';不要在TileView上使用OnClickListener,android,onclicklistener,Android,Onclicklistener,我正在使用该项目来显示大图像并在其上添加标记,在android中,它工作得很好,只是当我在视图上放置OnClickListener不工作时,我使用下面的代码: public class MainActivity extends ActionBarActivity implements OnClickListener { TileView tileView; @Override protected void onCreate(Bundle savedInstanceState) {

我正在使用该项目来显示大图像并在其上添加标记,在android中,它工作得很好,只是当我在视图上放置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工作,我应该做些什么?您需要获取访问onclick的视图id

@Override
public void onClick(View view) {


    int viewId = view.getId();

    switch (viewId) {
        case R.id.button_id:
            //do smthing
            break;

        default:
            break;
    }
}

TileView
显然定义了一个
tileviewventlistener
接口和
addtileviewventlistener()
方法。我建议使用这些方法,使用界面的
onFingerDown()
和/或
onFingerUp()
方法。

我给库的所有者发了一封信,他帮我解决了这个问题, 就像oguzhand建议的那样,我必须使用TileViewEventListener

下面的代码运行良好(由库TileView的所有者提出)


}

你说的“不起作用”是什么意思?它会崩溃吗?您是否设置了断点或登录该断点以查看其是否已到达?单击“小提示”时不会发生任何情况:您可以删除此位“setContentView(R.layout.activity_main);”。无论如何,它都会被覆盖
tileView.addTileViewEventListener( listener );
...
private TileViewEventListenerImplementation listener = new TileViewEventListenerImplementation(){
public void onTap( int x, int y ) {
    Log.d( "DEBUG", "tapped" );
}