android RadioButton 焦点问题
android RadioButton 焦点问题
发布时间:2018-02-01 来源:查字典编辑
摘要:如上图,第二张,listview获得焦点时,如何让RadioButton还是选中的状态下面是xml文件:回复讨论(解决方案)listview...

android RadioButton 焦点问题0

android RadioButton 焦点问题1

如上图,第二张,listview获得焦点时,如何让RadioButton还是选中的状态

下面是xml文件:

< ?xml version="1.0" encoding="utf-8"? >

< RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".HistoryActivity"

    android:background="@mipmap/formbackground" >

    < RelativeLayout

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_alignParentTop="true"

        android:id="@+id/relativeLayout"

        style="@style/TopBar" >

        < TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:textAppearance="?android:attr/textAppearanceMedium"

            android:text="Logs"

            android:id="@+id/tv_title"

            android:layout_alignParentBottom="false"

            android:layout_alignParentLeft="false"

            android:layout_alignParentStart="false"

            android:textSize="40sp"

            android:gravity="center"

            android:layout_centerInParent="true"

            android:textColor="#fff" / >

    < /RelativeLayout >

    < RelativeLayout

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:layout_below="@+id/relativeLayout"

        android:layout_centerHorizontal="true"

        android:layout_marginBottom="80dp" >

        < LinearLayout

            android:orientation="vertical"

            android:layout_width="1048dp"

            android:layout_height="wrap_content"

            android:layout_centerVertical="true"

            android:layout_centerHorizontal="true"

            android:background="@mipmap/call_background"

            android:layout_marginTop="30dp" >

            < LinearLayout

                android:orientation="horizontal"

                android:layout_width="match_parent"

                android:layout_height="50dp"

                android:layout_marginTop="8dp" >

                < RelativeLayout

                    android:layout_width="match_parent"

                    android:layout_height="match_parent"

                    android:layout_weight="1" >

                    < RadioButton

                        android:layout_width="124dp"

                        android:layout_height="44dp"

                        android:id="@+id/btn_call"

                        style="@style/DataButton"

                        android:background="@drawable/btn_data_border"

                        android:text="Call"

                        android:layout_centerInParent="true" / >

                < /RelativeLayout >

                < RelativeLayout

                    android:layout_width="match_parent"

                    android:layout_height="match_parent"

                    android:layout_weight="1" >

                    < RadioButton

                        android:layout_width="124dp"

                        android:layout_height="44dp"

                        android:id="@+id/btn_surveillance"

                        style="@style/DataButton"

                        android:background="@drawable/btn_data_border"

                        android:text="Surveillance"

                        android:layout_centerInParent="true" / >

                < /RelativeLayout >

               

           

            < /LinearLayout >

            < ListView

                android:layout_width="match_parent"

                android:layout_height="wrap_content"

                android:id="@+id/listView"

                android:layout_marginLeft="5dp"

                android:layout_marginRight="5dp"

                android:listSelector="@drawable/selector"

                android:layout_marginBottom="80dp" / >

        < /LinearLayout >

    < /RelativeLayout >

< /RelativeLayout >

< ?xml version="1.0" encoding="utf-8"? >

< selector

    xmlns:android="http://schemas.android.com/apk/res/android" >

    < item android:state_pressed="true" android:drawable="@mipmap/btn_data_border_p" / >

    < item android:state_focused="true" android:drawable="@mipmap/btn_data_border_p" / >

    < item android:drawable="@mipmap/btn_data_border_n" / >

< /selector >

< ?xml version="1.0" encoding="utf-8"? >

< selector xmlns:android="http://schemas.android.com/apk/res/android" >

    < !-- 非触摸模式下获得焦点并单击时的背景图片 -- >

    < item android:state_focused="true"

        android:state_pressed="true"

        android:drawable= "@mipmap/highlight" / >

    < !-- 触摸模式下单击时的背景图片-- >

    < item android:state_focused="false"

        android:state_pressed="true"

        android:drawable="@mipmap/highlight" / >

    < !--选中时的图片背景-- >

    < item android:state_selected="true"

        android:drawable="@mipmap/highlight" / >

    < !--获得焦点时的图片背景-- >

    < item android:state_focused="true"

        android:drawable="@mipmap/highlight" / >

< /selector >

回复讨论(解决方案)

listview获得焦点时  RadioButton.setChecked(true); 让radiobutton选中无非就是改变你的mData数据源。然后在getView方法中判定,如果是选中的,则设置radiobutton为选中。

每次点击item后要更新这个item所对应的mData的选中数据,然后notifyItemDataChanged(postion) listview获得焦点时  RadioButton.setChecked(true);

那怎么区别现在是btn_call或者btn_surveillance? 让radiobutton选中无非就是改变你的mData数据源。然后在getView方法中判定,如果是选中的,则设置radiobutton为选中。

每次点击item后要更新这个item所对应的mData的选中数据,然后notifyItemDataChanged(postion)

如何得知,item选中的数据是btn_call还是btn_surveillance的呢?

listview获得焦点时  RadioButton.setChecked(true);

那怎么区别现在是btn_call或者btn_surveillance?

btn_call.isChecked();  为  true 时 btn_call就是选中状态

你两个 RadioButton 应该用 RadioGroup 来装才对  才符合标准

RadioGroup 布局下包着两个RadioButton

listview获得焦点时  RadioButton.setChecked(true);

那怎么区别现在是btn_call或者btn_surveillance?

btn_call.isChecked();  为  true 时 btn_call就是选中状态

你两个 RadioButton 应该用 RadioGroup 来装才对  才符合标准

RadioGroup 布局下包着两个RadioButton

好的,原先是用RadioGroup 来布局的

将checkbox的id取出来,然后通过一个属性来设置他的选中与取消效果等,而属性效果可以保存到起来用到的时候去取吧

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类