【问题标题】:make popupWindow TextView clickable?使popupWindow TextView 可点击?
【发布时间】:2016-10-12 11:15:31
【问题描述】:

我的活动中有一个 PopupWindow,并且 PopupWindow 包含一些 TextView,我想让该文本可点击。请帮助我是 android 的新手。

主要活动.java:

public class ListViewForDeleteContact extends AppCompatActivity {
    ListView myListView;
    protected  void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                LayoutInflater layoutInflater=(LayoutInflater)ListViewForDeleteContact.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

                View dfg= layoutInflater.inflate(R.layout.popupWindow,(ViewGroup)findViewById(R.id.popupId));

                PopupWindow popupWindow=new PopupWindow(dfg,420,300,true);

                popupWindow.showAtLocation(dfg, Gravity.CENTER, 0, 0);
                popupWindow.setOutsideTouchable(true);

            }
        });
    }
}

main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/trans">


    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/listView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"/>

</RelativeLayout>

popupWindow.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/popupId"
                android:background="#546e7a"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="are you sure"
        android:layout_margin="20dp"
        android:id="@+id/textView7"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="no"
        android:id="@+id/textView8"
        android:layout_below="@+id/textView7"
        android:layout_centerHorizontal="true"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="yes"
        android:textColor="@color/colorAccent"
        android:id="@+id/textView9"
        android:layout_below="@+id/textView7"
        android:layout_alignBottom="@+id/textView8"
        android:layout_alignEnd="@+id/textView7"/>
</RelativeLayout>

main.xml 活动使用 popupWindow.xml 显示弹出窗口,我想制作 popupWindow.xml 中存在的可点击 TextView。

【问题讨论】:

    标签: java android xml sqlite


    【解决方案1】:

    您可以在 dfg View 变量中使用 findViewById 方法访问 TextView。

    例子

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    
        LayoutInflater layoutInflater=(LayoutInflater)ListViewForDeleteContact.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    
        View dfg= layoutInflater.inflate(R.layout.popupWindow,(ViewGroup)findViewById(R.id.popupId));
    
        TextView textView7 = (TextView) dfg.findViewById(R.id.textView7);
        textView7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // do something when the textview is clicked
            }
        });
    
        ... // for other textviews
    
        PopupWindow popupWindow=new PopupWindow(dfg,420,300,true);
    
        popupWindow.showAtLocation(dfg, Gravity.CENTER, 0, 0);
        popupWindow.setOutsideTouchable(true);
    
    }
    

    【讨论】:

      猜你喜欢
      • 2018-06-03
      • 1970-01-01
      • 2011-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多