使用EditText和按钮动态填充微调器

时间:2018-03-12 13:27:10

标签: android android-arrayadapter android-spinner

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);        
    myAdapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,getResources().getStringArray(R.array.fruits));        myAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(myAdapter);
    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
            {edttxt.setText(fruits.get(position));}

        @Override
        public void onNothingSelected(AdapterView<?> parent)
        {}});
    btn.setOnClickListener(new View.OnClickListener()  {
        @Override
        public void onClick(View v) {
            add();
        }});

}
private void add()  {
    String name=edttxt.getText().toString();
    if(!name.isEmpty() && name.length()>0)   {
        myAdapter.add(name);
        myAdapter.notifyDataSetChanged();
        edttxt.setText("");
        Toast.makeText(getApplicationContext(), "Added" + name, Toast.LENGTH_SHORT).show();
    }
    else   {
        Toast.makeText(getApplicationContext(), "Nothing to Add", Toast.LENGTH_SHORT).show();
    }
}
}

我正在尝试永久地在微调器中添加项目但是使用此代码它只是暂时存储,即一旦我关闭应用程序并再次打开,微调器中的所有项目都将消失。

我想永久地添加它们,即一旦我使用按钮和EditText在微调器中添加项目,我应该存储在XML文件中。

1 个答案:

答案 0 :(得分:1)

嘿Vikrant如果你想保留你通过edittext和按钮输入的值,那么你需要将这些数据存储在某种存储中。然后,如果您关闭应用程序并重新启动该应用程序,则应用程序将从该存储中检索该数据。

Android上提供了不同类型的数据存储选项:

1)内部文件存储:将app-private文件存储在设备文件系统中。

2)外部文件存储:将文件存储在共享外部文件系统上。这通常用于共享用户文件,例如照片。

3)共享首选项:将私有原始数据存储在键值对中。

4)数据库:将结构化数据存储在私有数据库中。

请仔细阅读 - https://developer.android.com/guide/topics/data/data-storage.html