2016-10-08 17 views
0

我是新來的android,我已經創建了兩個活動,其中主要活動包括一個按鈕去secondActivity在第二個活動中,用戶輸入名稱和數據被帶回使用intents.The問題我面臨的主要活動是我想在列表視圖中顯示的數據使用意圖從其他活動傳遞數據並顯示在列表視圖

MainActivity.java

public class MainActivity extends Activity { 
Button addcontact; 
ListView listview; 
//TextView name; 
ArrayAdapter<String> listAdapter; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    listview = (ListView) findViewById(R.id.listView1); 
    TextView name = (TextView) findViewById(R.id.txtname); 
    addcontact = (Button) findViewById(R.id.addbtn); 

    addcontact.setOnClickListener(new View.OnClickListener() { 
     @Override 
      public void onClick(View v) { 
      Intent i = new Intent(MainActivity.this, SecondActivity.class); 
      startActivityForResult(i, 1); 
      savedata(); 
     } 
    }); 
} 

private void savedata() { 
    Intent intent = getIntent(); 
    String fName = intent.getStringExtra("fname"); 
    List<String> ListElements = new ArrayList<String>(Arrays.asList(fName)); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>  (MainActivity.this,android.R.layout.simple_list_item_1, ListElements);  
    listview.setAdapter(adapter); 
} 

}

SecondActivity.java

公共類SecondActivity延伸活動{

EditText edname; 
Button addbtn; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_second); 

    edname =(EditText) findViewById(R.id.edname); 
    addbtn = (Button) findViewById(R.id.savebtn); 

    addbtn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    Intent intent = new Intent(SecondActivity.this, MainActivity.class); 
    intent.putExtra("fname", edname.getText().toString()); 
    startActivity(intent); 
    } 
    }); 

}}

+0

謝謝rahul: - )....但是什麼是listview的代碼來顯示editText數據... – Gary

回答

0

我建議你不要重新創建的第一項活動。而不是這種方法,請使用startActivityForResult()

總之 - 開始另一項活動不一定是單向的。您也可以開始另一項活動並返回結果。要接收結果,請致電startActivityForResult()(而不是startActivity())。

欲瞭解更多che link

相關問題