实际项目中有个需求让本菜鸡头疼许久,没什么技术难点主要是脑子笨,改了这里那里出错,最后总结一下 预防下次再犯二 , 最终总结下来 知识其实没多少 , 就是自己第一次从头一点一点想有点耗时。
实际需求简化版:一个页面里面有很多Item 每个Item主要里面有 一个Button 和一个EditText , Button点击进去里面有一个EditText 里面展示的是外面EditText的文字 点击确定按钮内部EditText文字输入到外部 , 点击取消按钮取消操作 , 点击Dialog外部也把已经输入的文字传到外面对应的EditText , 外部EditText 文字变化 左边Button文字也会变化。
布局 : 三组Item 每组有一个Button 和 EditText
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="vertical"
tools:context="com.example.administrator.hongyangzx.MainActivity">
<!--android:focusable="true"
android:focusableInTouchMode="true"
这两行写在在外层的父控件就可以防止EditText自动获取焦点-->
<!--三组-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:textAllCaps="false"
android:id="@+id/btn1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="btn1"/>
<EditText
android:id