Search code examples
androidandroid-edittextandroid-relativelayoutlayout-inflater

How to get data from dynamically created EditText using LayoutInflater in android?


This is Relative Layout view which is created dynamically like this :

Layout

... So my question is how to get the values from those dynamic elements and perform some calculation to show result on textview which is also dynamically created. Thanks in advance guys!!

    public void goButtonClicked(View view) {
    maalContainer.removeAllViews();
    int numberofPlayersTolayout = (Integer) Integer.parseInt((String) numberOfPlayers.getSelectedItem());

    LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);

    for (int i = 0; i < numberofPlayersTolayout; i++) {
        View dynamicEntryView = inflater.inflate(R.layout.player_entry_item, null);
        maalContainer.addView(dynamicEntryView, params);
    }

}

}


Solution

  •      public void goButtonClicked(View view) {
             int numberofPlayersTolayout =       Integer.parseInt(numberOfPlayers.getSelectedItem().toString());
            LayoutInflater inflater = (LayoutInflater)  getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT,  LayoutParams.WRAP_CONTENT);
            maalContainer.removeAllViews();
    
            maalText = new EditText[numberofPlayersTolayout];
            points = new EditText[numberofPlayersTolayout];
            result = new TextView[numberofPlayersTolayout];
            for (int i = 0; i < numberofPlayersTolayout; i++) {
                View dynamicEntryView = inflater.inflate(R.layout.player_entry_item, null);
                maalContainer.addView(dynamicEntryView, params);
                TextView playerName = (TextView) dynamicEntryView.findViewById(R.id.player_name_textview);
                playerName.setText("Player :" + (i + 1));
    
                maalText[i] = (EditText) dynamicEntryView.findViewById(R.id.player_item_edittext_maal);
                points[i] = (EditText) dynamicEntryView.findViewById(R.id.player_item_edittext_point);
                result[i] = (TextView) dynamicEntryView.findViewById(R.id.player_item_textview_result);
    }