I am working on a application where I have to create multiple
EditText
and Spinner dynamically. So I started looking
for the solution as I don't have permission to use Invisible
property in XML file. I searched a lot and got a very few examples
only on stackoverflow . I follow them and created this program.
**MainActivity.java code**
public class MainActivity extends Activity {
RelativeLayout containerLayout;
static int totalEditTexts = 0;
Button button;
Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
containerLayout = (RelativeLayout)findViewById(R.id.relative1);
button = (Button)findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
totalEditTexts++;
if (totalEditTexts > 100)
return;
EditText editText = new EditText(getBaseContext());
containerLayout.addView(editText);
editText.setGravity(Gravity.RIGHT);
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) editText.getLayoutParams();
layoutParams.width = RelativeLayout.LayoutParams.MATCH_PARENT;
layoutParams.setMargins(23, 34, 0, 0);
// RelativeLayout.LayoutParams()
editText.setLayoutParams(layoutParams);
//if you want to identify the created editTexts, set a tag, like below
editText.setTag("EditText" + totalEditTexts);
}
});
} }
When I am running this code, It is creating the EditText when the button got clicked. But only one time. I don't know what is happening after that. whether it is creating new EditText or it is overlapping the old one, otherwise it is not creating more than one EditText.
Can anyone explain me what I have to do now to resolve this issue.
I have Solved my Problem by simply replacing RelativeLayout with LinearLayout