从另一个活动编辑一个活动中的微调器



我创建了Activity5来管理其他活动的值。。。

在Activity3中,我有一个微调器。。。

Spinner spinner1;
ArrayList<String> SAlist;
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main_activity3);
  getActionBar().setDisplayHomeAsUpEnabled(true);
  Intent intent = getIntent();
  ArrayList<String> SAList =  intent.getStringArrayListExtra("StringArrayList");

  spinner1=(Spinner) findViewById(R.id.spinner1);
  ArrayAdapter<String> adp=new ArrayAdapter<String>(this, 
            android.R.layout.simple_dropdown_item_1line,SAList);
    spinner1.setAdapter(adp);      

}

我认为,如果我在activity 5中构建新的微调器(用于向用户显示)并对其进行编辑,然后将该微调器的数组列表传递给activity 3,这是可能的。。。

活动5:

Spinner sp;
EditText et;
ArrayList<String> li;
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main_activity5);
  getActionBar().setDisplayHomeAsUpEnabled(true);
  li=new ArrayList<String>();
  li.add("first item");
  sp=(Spinner) findViewById(R.id.spinner1);
  Button butt=(Button) findViewById(R.id.button1);
  Button butt1=(Button) findViewById(R.id.button2);
  et=(EditText)findViewById(R.id.editText1);
  add();
  butt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
        li.add(et.getText().toString());
        et.setText(null);
        add();
        }
});
  butt1.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
      Intent intent = new Intent(MainActivity5.this, MainActivity3.class);
      intent.putStringArrayListExtra("StringArrayList", li);
      startActivity(intent);
        }
    });

}
private void add() {
        ArrayAdapter<String> adp=new ArrayAdapter<String>(this, 
                android.R.layout.simple_dropdown_item_1line,li);
        sp.setAdapter(adp);
           }

但当我启动应用程序并打开activity3时,它显示"不幸的是,应用程序已经停止"!!!帮帮我吧!

当您从主菜单打开activity 3时,在该事件中,您得到的SAList为null,尝试这样做,当SAList为null时,它将显示空的微调器。

Intent intent = getIntent();
    if(intent.getStringArrayListExtra("StringArrayList")!=null)
    {
        ArrayList<String> SAList =  intent.getStringArrayListExtra("StringArrayList");
    }else
    {
        ArrayList<String> SAList=new ArrayList<String>();
    }

相关内容

最新更新