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
XMLAndroid 获取编辑文本的标记值 公共类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; @
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>