2016-01-20 49 views
0

我的思维存在问题。 我有2个Actvities:将EditText中的项目添加到Android的ListView示例应用程序中

正如你可以看到有小部件的EditText在第二活动。我现在想要通过按MainAddMedActivity中的浮动操作按钮将它们的内容保存在MainActivity的ListView中。

我试图使用一个适配器,但我无法弄清楚。希望您能够帮助我。我在列表中使用额外的xml作为布局。

这是到目前为止我有:

  1. MainActivity:

    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    
    
    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View view) { 
    
         Intent intent = new Intent(view.getContext(), MainAddMedActivity.class); 
         startActivity(intent); 
        } 
    }); 
    
    
    ListView mainListView = (ListView) findViewById(R.id.listView); 
    listAdapter = new ArrayAdapter<String>(this, R.layout.single_row); 
    mainListView.setAdapter(listAdapter); 
    
    
    String bIntent = getIntent().getExtras().getString("CONTENT_SEARCH_MED"); //And now? 
    
    } 
    
  2. MainAddMedActivity

    private EditText txtSearchMedicament; 
    private EditText txtNumberMedicament; 
    
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main_add_med); 
    
    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View view) { 
         EditText description = (EditText) findViewById(R.id.txtSearchMedicament); 
         String text = description.getText().toString(); 
         // Now what?! 
        } 
    }); 
    
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    
    this.txtSearchMedicament = (EditText) findViewById(R.id.txtSearchMedicament); 
    this.txtNumberMedicament = (EditText) findViewById(R.id.txtNumberMedicament); 
    
    Intent i = new Intent(this, MainActivity.class); 
    i.putExtra("CONTENT_SEARCH_MED", txtSearchMedicament.getText().toString()); 
    i.putExtra("CONTENT_MED_NR", txtNumberMedicament.getText().toString()); 
    
    } 
    
+0

你需要'startActivityForResult' - 这是我想以后使用数据库的文档http://developer.android.com/training/basics/intents/result.html –

回答

0

只有一个Activity可以在同一时间内,所以你会有t o将数据存储在SharedPreferences或数据库中,并在MainActivity恢复时重新加载数据。

+0

。似乎我必须先这样做呢? – Harrison

+1

对于那些只需要'startActivityForResult' –

+0

同意的事情来说,这有点矫枉过正。这取决于你想要对数据做什么,如果你想最终存储它,那么只要用户输入它就可以存储它,但如果你只是暂时需要它,你应该使用'startActivityForResult'和当用户输入数据时结束'MainAddMedActivity' – TheoKanning

相关问题