Java 根据json数组的元素动态添加edittext
我试图从json数组中获取数据并在edittext中显示,但我想在单独的edittest中表示每个元素,当json数组包含多个元素时,所有元素都是单个eddittext,如何根据数组中的元素数动态添加edittextJava 根据json数组的元素动态添加edittext,java,android,Java,Android,我试图从json数组中获取数据并在edittext中显示,但我想在单独的edittest中表示每个元素,当json数组包含多个元素时,所有元素都是单个eddittext,如何根据数组中的元素数动态添加edittext final String[] mList = assetName.split("\\|"); final String[] mListnumber = assetNumber.split("\\|"); for(i=0;i<mList.length;i++){ Lay
final String[] mList = assetName.split("\\|");
final String[] mListnumber = assetNumber.split("\\|");
for(i=0;i<mList.length;i++){
LayoutInflater inflater=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View child=inflater.inflate(R.layout.childlayout,null);
EditText title1=(EditText)child.findViewById(R.id.et_armoryname);
EditText title2=(EditText)child.findViewById(R.id.et_armorynumber);
//EditText title3 = (EditText)child.findViewById(R.id.et_qr);
title1.setText(mList[i]);
title2.setText(mListnumber[i]);
}
final String[]mList=assetName.split(“\\\\”);
最后一个字符串[]mListnumber=assetNumber.split(“\\\\”);
对于(i=0;i不要为EditText创建这样的用户界面
public class MainActivity extends Activity {
private static final int VISIBLE = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//for json data in spouse it is in arraylist otherwisse parse data and store in arrylist or any other variable.
iterator itr=al.iterator();
while(itr.hasNext()){
EditText editText = new EditText(this);
editText.setText(itr.next());
editText.setVisibility(VISIBLE);
}}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
使用下面的代码将EditText
动态添加到父布局中,在下面我采用的LinearLayout
方法中传递父布局对象
final String[] mList = assetName.split("\\|");
final String[] mListnumber = assetNumber.split("\\|");
确保您的mList
数组和mListnumber
数组长度应相同,否则可能导致ArrayIndexOutOfException
private void addEditTextDynamically(LinearLayout mParentLayout, String[] myList)
{
for (int i = 0; i < myList.length; i++)
{
EditText myEditText = new EditText (mParentLayout.getContext()); //Context
myEditText.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
myEditText.setId(i);
myEditText.setTag(myList[i]);
myEditText.setText(myList[i] + " number" + mListnumber [i]);
myEditText.setTextColor(Color.parseColor("#785412"));
mParentLayout.addView(myEditText);
}
}
private void addedittextDynamics(LinearLayout mParentLayout,String[]myList)
{
for(int i=0;i
试试这个:使用RecyclerView或ListView