gpt4 book ai didi

android wear gridview pager onClickListener

转载 作者:行者123 更新时间:2023-11-29 00:16:34 26 4
gpt4 key购买 nike

我正在开发一个简单的应用程序,您可以在其中将不同的地点放置在谷歌地图上。当我单击一个点时,我会得到它的详细信息,这些详细信息显示在 GridViewPager 中。目前,我的应用程序基于随 sdk 提供的 GridViewPager 示例。

这是我对现场细节的布局(没什么花哨的)

<android.support.wearable.view.GridViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true"/>

我现在的问题是我无法检测到卡片上的点击事件。我试过了,但没用。

public class DetailsActivity extends Activity implements GridViewPager.OnClickListener {


@Override
public void onClick(View v) {

}

我也尝试过 View.OnClickListener。

有什么想法吗?

最佳答案

这里有两个问题。首先,如果您真的想让 GridViewPager 可点击,您需要告诉它监听点击事件——仅实现 OnClickListener 接口(interface)是不够的。所以你需要做这样的事情:

public class DetailsActivity ... {
@Override
public void onCreate(Bundle savedInstanceState) {
...

GridViewPager pager = (GridViewPager)findViewById(R.id.pager);
pager.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// put your onClick logic here
}
});

...
}
}

话虽这么说,但根据您的描述,听起来您真正想要的是在网格内的各个页面上设置点击处理程序,而不是在整个网格上。如果是这样,那么您需要在每个页面的 Fragment 类中做类似的事情。例如:

public class MyPageFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View result = inflater.inflate(...);
result.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// put your onClick logic here
}
});

...

return result;
}
}

注意:如果您在 GridViewPager 中使用 CardFragments,那么您可能会在 onCreateContentView 覆盖中设置 OnClickListener。否则,应适用上述基于 fragment 的示例。

关于android wear gridview pager onClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26343337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com