在我的android项目 new_test.xml 中包含: -
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/liner" >
<EditText
android:id="@+id/user"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:tag="user">
</EditText>
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:tag="name"/>
<EditText
android:id="@+id/partner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:tag="partner"/>
<EditText
android:id="@+id/home"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:tag="home"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>
现在我想获取edittext字段的所有标记名称。这是我的类文件: -
public class MainActivity extends Activity {
TextView txt;
String values;
Context ctx;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_test);
txt = (TextView) findViewById(R.id.textView1);
ViewGroup group = (ViewGroup)findViewById(R.id.liner);
for (int i = 0; i<= group.getChildCount(); ++i) {
View view = group.getChildAt(i);
if (view instanceof EditText) {
values = (String) ( ((EditText)view).getTag());
txt.setText(values);
}
}
}
}
它应该返回用户,名称,合作伙伴,家庭。 ..但它只返回“home” ..并非所有标记名..我想要获取所有的标记名。
我有
Formerr error = new Formerr ();
String field= error.getField();
String message= error.getMessage();
现在我想要
ViewGroup group = (ViewGroup)findViewById(R.id.signup_new_user);
for (int i = 0; i<= group.getChildCount(); ++i) {
View view = group.getChildAt(i);
if (view instanceof EditText) {
if(field.equals((String) ( ((EditText)view).getTag())))
//
}
}
这里的字段是string..string字段将返回: - user / name / partner / home(其中任何一个)..当字段与标记名称匹配时..我想设置字符串messgae 到那个特定的edittext ..我可以设置那条消息吗?
答案 0 :(得分:1)
使用TextView.append(CharSequence text)在单个TextView中显示所有标记:
txt.append(values+"\n");
修改强>
如何使用该标记名称
将消息设置为特定视图
通过比较两个字符串来做到这一点:
View view = group.getChildAt(i);
if (view instanceof EditText) {
EditText edtText=((EditText)view);
values = edtText.getTag().toString();
if(field.equals(values)){
edtText.setText(message);
}
}