安卓List<NaviLatLng> wayList = new ArrayList<>();点击事件
时间: 2024-01-01 11:17:32 浏览: 30
List<NaviLatLng> 是一个储存导航点坐标的集合,如果你想在安卓中给这个集合添加点击事件,可以使用 ListView 控件和适配器来实现。首先,你需要创建一个适配器来将 List<NaviLatLng> 中的元素显示在 ListView 中。下面是一个简单的适配器示例:
```
public class NaviLatLngAdapter extends ArrayAdapter<NaviLatLng> {
public NaviLatLngAdapter(Context context, List<NaviLatLng> list) {
super(context, 0, list);
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(android.R.layout.simple_list_item_1, parent, false);
}
NaviLatLng naviLatLng = getItem(position);
TextView textView = convertView.findViewById(android.R.id.text1);
textView.setText(naviLatLng.toString());
return convertView;
}
}
```
在这个适配器中,我们使用了系统自带的 simple_list_item_1 布局来显示导航点坐标。接下来,在你的 Activity 中,你可以使用 ListView 控件来显示 List<NaviLatLng> 中的元素,并设置点击事件监听器。下面是一个示例代码:
```
ListView listView = findViewById(R.id.listView);
NaviLatLngAdapter adapter = new NaviLatLngAdapter(this, wayList);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// 处理点击事件
NaviLatLng naviLatLng = wayList.get(position);
Toast.makeText(MainActivity.this, "你点击了导航点:" + naviLatLng.toString(), Toast.LENGTH_SHORT).show();
}
});
```
在这个示例中,我们创建了一个 ListView 控件,并使用适配器将 List<NaviLatLng> 中的元素显示在 ListView 中。然后,我们设置了一个点击事件监听器,在用户点击某个导航点时会弹出一个 Toast 提示用户点击了哪个导航点。你可以根据自己的需求来修改这个监听器的实现。