简体   繁体   English

当我单击Java代码中的“添加”按钮时,如何添加Edittext和Spinner?

[英]How to add Edittext and Spinner when I clicked on Add button in java code?

package com.nyurals.school;



import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class SettingsActitivity extends Activity {

    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        setContentView(R.layout.activity_settings );

        ActionBar actionBar = getActionBar();
        actionBar.show();
        actionBar.setTitle("SETTINGS");

        int titleId = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");
        TextView textView = (TextView)findViewById(titleId);
    //  textView.setText("ANNOUNCEMENTS");
        textView.setTextColor(android.graphics.Color.BLUE);

        actionBar.setDisplayHomeAsUpEnabled(true);

        init();
        super.onCreate(savedInstanceState);
    }

    private void init() {

        //textParentName = (TextView) findViewById(R.)
        String[] items = { "Nursery", "KG-I", "KG-II", "I", "II",
                "III", "IV", "V" };
        Spinner spinnerForClass = (Spinner) findViewById(R.id.spinnerClass);
        //      spinnerForClass.setOnItemSelectedListener(this);

        ArrayAdapter<String> spinnerClass = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item,items);

        spinnerForClass.setAdapter(spinnerClass);
    }

    public void addChildren(View view) {


        Toast.makeText(SettingsActitivity.this, "Clicked on Add", Toast.LENGTH_SHORT).show();


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater menuInflater = getMenuInflater();
        menuInflater.inflate(R.menu.menu_settings, menu);

        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch(item.getItemId()){
        case R.id.item_save:
            Toast.makeText(SettingsActitivity.this, "Details saved.. Thank You!!", Toast.LENGTH_SHORT).show();
            return true;
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;

        default:
            return false;

        }

    }



}

In above code in add Children method, What should I write to add child again???? 在上述添加儿童方法中的代码中,我应该怎么写才能再次添加儿童? ie How to add Edit Text and Spinner like it is already present there which came from XML.. please suggest any solution... 即如何添加编辑文本和微调框,就像它已经存在,它来自XML ..请提出任何解决方案...

if you have Spinner and EditText in xml already and want to add again by probgrammatically then first remove all views from your parent layout.. 如果您已经在xml中包含了Spinner和EditText,并希望通过按语法重新添加,那么请先从父版式中删除所有视图。

like: 喜欢:

  parentlayout.removeAllViews();

and after that create object for Spinner and EditText and add to parent layout 然后为SpinnerEditText创建对象并添加到父布局

  EditText edt= new EditText(this);
  Spinner sp= new Spinner(this);
  parentlayout.addView(edt);
  parentlayout.addView(sp);

Try this: 尝试这个:

EditText myEdtTxt = new EditText(this);
myLayout.addView(myEdtTxt);

Spinner spinner = new Spinner(this);
myLayout.addView(spinner);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM