Android 获取编辑文本的标记值 公共类MainActivity扩展活动{ 自动完成文本视图; SimpleAdapter适配器; ArrayList值=新的ArrayList(); 编辑文本e1、e2; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //名称(); cat=(自动完成文本视图)findViewById(R.id.a\U编号); 字符串[]from={“NAME”,“ID”}; int[]to={R.id.auto_id,R.id.auto_name}; 适配器=新SimpleAdapter(MainActivity.this,values,R.layout.row, 从,到); cat.setAdapter(适配器); 类别设置阈值(1); cat.setOnItemClickListener(autoItemSelectedListner); } 私有OnItemClickListener autoItemSelectedListner=新建OnItemClickListener(){ @凌驾 公共链接(AdapterView arg0、视图arg1、内部arg2、, 长arg3){ LinearLayout v1=(LinearLayout)arg1.getParent(); 对于(int i=0;i

Android 获取编辑文本的标记值 公共类MainActivity扩展活动{ 自动完成文本视图; SimpleAdapter适配器; ArrayList值=新的ArrayList(); 编辑文本e1、e2; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //名称(); cat=(自动完成文本视图)findViewById(R.id.a\U编号); 字符串[]from={“NAME”,“ID”}; int[]to={R.id.auto_id,R.id.auto_name}; 适配器=新SimpleAdapter(MainActivity.this,values,R.layout.row, 从,到); cat.setAdapter(适配器); 类别设置阈值(1); cat.setOnItemClickListener(autoItemSelectedListner); } 私有OnItemClickListener autoItemSelectedListner=新建OnItemClickListener(){ @凌驾 公共链接(AdapterView arg0、视图arg1、内部arg2、, 长arg3){ LinearLayout v1=(LinearLayout)arg1.getParent(); 对于(int i=0;i,android,Android,XML public class MainActivity extends Activity { AutoCompleteTextView cat; SimpleAdapter adapter; ArrayList<HashMap<String, String>> values = new ArrayList<HashMap<String, String>>(); EditText e1,e2; @

XML

   public class MainActivity extends Activity  {
    AutoCompleteTextView cat;
    SimpleAdapter adapter;
    ArrayList<HashMap<String, String>> values = new ArrayList<HashMap<String, String>>();
    EditText e1,e2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //name();

        cat = (AutoCompleteTextView) findViewById(R.id.a_no);
        String[] from = { "NAME", "ID" };
        int[] to = { R.id.auto_id, R.id.auto_name };
        adapter = new SimpleAdapter(MainActivity.this, values, R.layout.row,
                from, to);
        cat.setAdapter(adapter);
        cat.setThreshold(1);
        cat.setOnItemClickListener(autoItemSelectedListner);
    }


    private OnItemClickListener autoItemSelectedListner = new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {

            LinearLayout v1 = (LinearLayout) arg1.getParent();
            for (int i = 0; i < v1.getChildCount(); i++) {
                EditText e = (EditText) v1.getChildAt(i);
                Log.i("Tag Name IS", e.getTag().toString());

            }
        }

    };




}


给定一个视图,我需要获取子视图。我尝试了上面的方法,当我使用
EditText
时效果很好,但是当我处理auto complete时,它不起作用。我真的被困在这里了。非常感谢您的帮助(在本例中,我需要获取
EditText
的标记值)

标记值应为R.id.edit\u txt\u name。例如:setTag(R.id.my\u edit\u text);然后获取标签(R.id.my\u edit\u text);在我的真实示例中,我动态创建线性布局,每个布局有1个自动完成和2个编辑文本字段。因此,当我从自动完成中选择一个值时,我需要在自动完成旁边更改edittext的值。为此,我需要获取自动完成的父布局,并获取要更改的编辑文本
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/abc"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity" >

         <EditText
                android:id="@+id/other"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ems="10"
                android:tag="cde"
                android:hint="Other" >

                <requestFocus />
            </EditText>

        <AutoCompleteTextView
            android:id="@+id/a_no"
            android:layout_width="wrap_content"
            android:layout_height="100dip"
            android:ems="10"
            android:hint="Account No" >
        </AutoCompleteTextView>

    </LinearLayout>