【问题标题】:How to call item click listener for info view adapter?如何为信息视图适配器调用项目单击侦听器?
【发布时间】:2026-01-26 02:20:06
【问题描述】:

我想通过单击谷歌地图标记的信息视图适配器内的一个按钮来调用一些活动。这可能吗,那怎么办?

我的代码是这样的

// Info view adapter
googleMap.setInfoWindowAdapter(new InfoWindowAdapter() {


     @Override 
     public View getInfoWindow(Marker marker) { 

         view = ((Activity) context).getLayoutInflater().inflate(R.layout.row_browse_jobs_map,null);
         txtDate = (TextView) view.findViewById(R.id.txt_browse_jobMap_placed_date);
         String j_date = "25 JAN, 2015";

         //click listener for button
         txtDate.setOnClickListener(new OnClickListener() {

              public void onClick(View arg0) {
                  Toast.makeText(context, "clicked", Toast.LENGTH_SHORT).show(); 
              } 
         });
         return view; 
     }

     //content wraping
     public View getInfoContents(Marker arg0) {  
         return null; 
     } 
}); 

【问题讨论】:

  • 我在信息视图适配器中使用了按钮,并为该按钮调用了 onclicklistener,但它不起作用。
  • 发布该代码(仅相关部分)

标签: android google-maps infoview


【解决方案1】:

请检查这个。我没有试过这个。所以我不确定这是否正确。

public View getInfoContents(Marker arg0) {
     googleMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {            
         public void onInfoWindowClick(Marker marker) {
              //your code
            }    
     }
      //your remaining code
 }

参考这个set InfoWindowAdapter show information only for first marker clicked

【讨论】:

  • 你好老板,谢谢你的回复,但这个方法是点击整个信息窗口。但在我的场景中,我只想在自定义信息窗口内的视图上添加点击事件,而不是整个信息窗口。
  • yehhhh... thnks 我从您的链接中得到它.. 那是*.com/questions/14123243/…
最近更新 更多