android - 如何为 QuickContactBadge 创建可点击标签

标签 android onclick eventtrigger quickcontactbadge

我有一个应用程序,它使用 QuickContactBadge 来显示联系人照片和弹出操作面板。

在我的布局中,我还在 QuickContactBadge 下方有一个 TextView,它显示联系人的姓名。

现在,当您单击/触摸联系人的照片(正确的 QuickContactBadge)时,您只会获得实际的快速操作 Pane 。当您单击显示名称的 TextView 时,我喜欢它也显示操作 Pane 。

有什么方法可以捕获 TextView 的点击事件并使用它来触发 QuickContactBadge 的点击,从而显示操作面板?

我不确定它是否真的适用于这个问题,但这是我的布局的 XML。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="top|center_horizontal"
    android:orientation="vertical" >

    <QuickContactBadge
        android:id="@+id/ContactBadge"
        android:layout_width="48dp"
        android:layout_height="48dp" >
    </QuickContactBadge>

    <TextView
        android:id="@+id/ContactName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:ellipsize="end"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:freezesText="true"
        android:gravity="top|center_horizontal"
        android:lines="2"
        android:text="@string/val_DefaultString" >
    </TextView>

</LinearLayout>

最佳答案

绑定(bind) TextView 时,我做了以下操作:

TextView tv = (TextView) v.findViewById(R.id.ContactName);
tv.setText(cnm);
tv.setOnClickListener(this);

我的 Activity 然后实现 OnClickListener。然后在 OnClick 覆盖中,执行以下操作:

@Override
public void onClick(View v) {
    switch(v.getId()) {
        case R.id.ContactName:
            TextView tv = (TextView) v;
            LinearLayout ll = (LinearLayout) tv.getParent();
            QuickContactBadge qb = (QuickContactBadge) ll.findViewById(R.id.ContactBadge);
            qb.performClick();

            break;
    }
}

这里的关键是一行:qb.performClick();

关于android - 如何为 QuickContactBadge 创建可点击标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10859635/

相关文章:

java - Android SearchView 和 NavigationDrawer

javascript - 使用 onclick 事件向页面添加动态 HTML 内容

Android 无法找到我的 onClick 方法

wpf - Interactivity.EventTrigger 未订阅自定义路由事件

java - 增加 RecyclerView 项目的字体大小

java - android studio中的自定义facebook登录按钮

Android 谷歌地图应用程序显示灰色背景而不是 map

jquery - 在asp上添加jQuery点击事件:button that fires before the button does a postback

C# 后台 worker 不会在我自己以外的任何电脑上触发 dowork 事件

google-apps-script - 使用 "on form submit"时区分形式