这是主Activity,菜单栏里有a添加选项,点击后会转到addActivitypackage com.itcast;import java.util.ArrayList;
import java.util.HashMap;import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;public class Activity08Activity extends ListActivity{
    /** Called when the activity is first created. */
ArrayList<HashMap<String,String>> list=null;
 SimpleAdapter listAdapter=null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        list=new ArrayList<HashMap<String,String>>();
        HashMap<String,String> map1=new HashMap<String,String>();
        HashMap<String,String> map2=new HashMap<String,String>();
        HashMap<String,String> map3=new HashMap<String,String>();
        map1.put("user_name", "张三");
        map1.put("user_ip", "127.0.0.1");
        map2.put("user_name", "赵四");
        map2.put("user_ip", "196.20.2.1");
        map3.put("user_name", "王五");
        map3.put("user_ip", "127.4.3.12");
        list.add(map1);
        list.add(map2);
        list.add(map3);
        //this是该activity,list是HashMap
        listAdapter=new SimpleAdapter(this,list,R.layout.user,new String[]{"user_name","user_ip"},new int[]{R.id.user_name,R.id.user_ip});
        setListAdapter(listAdapter);
        
    }
    @Override
    protected void onStart() {
     // TODO Auto-generated method stub
     System.out.println("start");
     super.onStart();
     Intent intent=getIntent();
     String name=intent.getStringExtra("name");
     String ip=intent.getStringExtra("ip");
     HashMap<String,String> map4=new HashMap<String,String>();
map4.put("user_name", name);
        map4.put("user_ip", ip);
        list.add(map4);
        
    }
    
    public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
     menu.add(0, 1, 1,R.string.add);
     menu.add(0, 2, 2,R.string.delete);
     menu.add(0, 3, 3,R.string.quit);
return super.onCreateOptionsMenu(menu);

}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
if(item.getItemId()==1){
Intent intent=new Intent();
intent.setClass(Activity08Activity.this,addActivity.class);
Activity08Activity.this.startActivity(intent);

}
else if(item.getItemId()==2){
finish();
}
else{

}
return super.onOptionsItemSelected(item);
}
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
     // TODO Auto-generated method stub
     super.onListItemClick(l, v, position, id);
     System.out.println("id-------------"+id);
     System.out.println("position-------------"+position);
    }
}这是addActivity的代码package com.itcast;import android.app.Activity;
import android.content.Intent;
import android.location.GpsStatus.Listener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;public class addActivity extends Activity{
private EditText edtext1=null;
private EditText edtext2=null;
private Button ok=null;
private Button cancel=null;
private String name=null;
private String ip=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.add);
edtext1=(EditText)findViewById(R.id.addname);
edtext2=(EditText)findViewById(R.id.addIP);
ok=(Button)findViewById(R.id.button1);
cancel=(Button)findViewById(R.id.button2);
ok.setOnClickListener(new ButtonListeners());
cancel.setOnClickListener(new ButtonListeners2());

}
class ButtonListeners implements OnClickListener{
public void onClick(View v) {
// TODO Auto-generated method stub
name=edtext1.getText().toString();
ip=edtext2.getText().toString();
Intent intent=new Intent();
intent.putExtra("name",name);
intent.putExtra("ip", ip);
intent.setClass(addActivity.this,Activity08Activity.class);
addActivity.this.startActivity(intent);
finish();
}
}
class ButtonListeners2 implements OnClickListener{
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
}
}
我是想每一次添加后都会在主activity的列表上添加一项,但是第一次能够添加,进行第二次添加的时候,发现上一次添加的项目没有了,我在OnStart()中写的添加代码,我觉得每一次回到主Activity时候都会调用Onstart()函数,可视结果和我预想的不一样,看了半天也不知道哪里出问题了,求高手帮忙。。

解决方案 »

  1.   

    你这个情况应该适合startActivityForResult方式打开addactivity,然后再addactivity中通过setResult返回结果。
      

  2.   

    当然没有了,你相当于重新打开一个第一个Activity,以前的数据当然不会保存。同意楼上方法。另为listview有几个很好用的方法。再多研究下吧。
      

  3.   

    当然没有了,你相当于重新打开一个第一个Activity,以前的数据当然不会保存。同意楼上方法。另为listview有几个很好用的方法。再多研究下吧。