这是主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()函数,可视结果和我预想的不一样,看了半天也不知道哪里出问题了,求高手帮忙。。
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()函数,可视结果和我预想的不一样,看了半天也不知道哪里出问题了,求高手帮忙。。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货