Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据json数组的元素动态添加edittext_Java_Android - Fatal编程技术网

Java 根据json数组的元素动态添加edittext

Java 根据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

我试图从json数组中获取数据并在edittext中显示,但我想在单独的edittest中表示每个元素,当json数组包含多个元素时,所有元素都是单个eddittext,如何根据数组中的元素数动态添加edittext

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