2016-03-09 55 views
-1

用户选择从抽屉式导航项目,它采取他们的活动与下面的代码:如何在从其他活动获取用户数据后更新主要活动?

public void addOk(View v){ 
    String sendName = name.getText().toString(); 
    Intent intent = new Intent(this, MainActivity.class); 
    intent.putExtra("name", sendName); 
    startActivity(intent); 
} 

哪种方法,我会用更新的用户只需从传来的主要活动? onResume()不起作用,因为我每次启动应用程序onResume()都会运行。

我的主要活动有以下代码,但我不知道如何当addOk按钮被按下

Intent intent = getIntent(); 
    String Title = intent.getExtras().getString("name"); 
    if(Title == null || Title.trim().equals("")) { 
     Toast.makeText(getBaseContext(), "The text field is empty!", Toast.LENGTH_LONG).show(); 
    } 
    else{ 
     addArray.add(Title); 
     ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, addArray); 
     show.setAdapter(adapter); 
    } 
+0

当按下addOk时,该代码已经运行。活动已启动,并且该代码将运行。 –

+0

您需要使用startActivityForResult方法。你可以找到很多关于它的信息。使用起来很简单 – neustart47

+0

您是否考虑过使用接口并只做一些回调?或者如果你只是担心onResume()中的代码不能在第一次创建时运行,为什么不只是将布尔变量作为一个检查器,其中它首次通过onResume()时变为false, –

回答

0

我不知道如何实现它,实现它,所以它只能运行它只能运行在addOk按钮被按下

您可以在您的活动onCreate方法单击按钮像下面

Button okAddButton = (Button)findViewById(R.id.ok_add); 
    okAddButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent = getIntent(); 
      String Title = intent.getExtras().getString("name"); 
      if(Title == null || Title.trim().equals("")) { 
       Toast.makeText(getBaseContext(), "The text field is empty!", Toast.LENGTH_LONG).show(); 
      } 
      else{ 
       addArray.add(Title); 
       ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, addArray); 
       show.setAdapter(adapter); 
      } 
     } 
    }); 
相关问题