android 页面跳转总结

整理一下这几天在android上用的页面跳转:

现有A B 两个页面 

A页面有一个listview  里面的item是从数据库中取出来的

B页面有一个添加的操作 会对数据库进行添加与A页面listview中绑定的数据

现在要求 A页面点击一个按钮 跳转到B页面

然后B页面进行添加的操作

操作成功 则返回A页面 并将A页面的listview刷新

实现方法:

A页面主要代码:

    private ListView mylistview;
    private ArrayList<String> list = new ArrayList<String>();
	@Override
    protected void onCreate(Bundle savedInstanceState) {
		fileService=new FileService(this); 
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.chatt);
        
        createList();
	}  
	public void createList(){
		/*
         * 发送请求 参数为用户名 返回该用户所在的聊天室的名字
         * 这里新开一个线程 
         * msg.what=1
         */
        Map<String, String> map=fileService.readFile("private.txt");  
		map.put("username", map.get("username"));
		HttpUtil.setUrl("http://1.sckandroid.sinaapp.com/Index/getchatname");
		HttpUtil.setParams(map);
		new Thread(new Runnable(){
			@Override
			public void run() {
				String response = HttpUtil.post();
				Message msg = new Message();
				msg.what=1;
				msg.obj=response.trim();
				handler.sendMessage(msg);
			}
		}).start();
	}

	private Handler handler = new Handler(){
		public void handleMessage(Message msg) {
			switch(msg.what){
			case 1:
				String response = (String)msg.obj;
				final String [] val = response.split(",");
				mylistview = (ListView)findViewById(R.id.list);
				for(int i = 0 ;i < val.length ; i++){
					list.add(val[i]);
				}
		        ArrayAdapter<String> myArrayAdapter = new ArrayAdapter<String>
		                            (ChattActivity.this,android.R.layout.simple_list_item_1,list);
		        mylistview.setAdapter(myArrayAdapter);
		        
		        mylistview.setOnItemClickListener(new OnItemClickListener() {

					@Override
					public void onItemClick(AdapterView<?> parent, View view,
							int position, long id) {
						// TODO Auto-generated method stub
						Toast.makeText(getApplicationContext(), val[position],Toast.LENGTH_SHORT).show();
						
					}
				});
			}
		}
    };
    public void addchat(View view){
    	/*
    	 * 切换到添加聊天室的界面 
    	 */
    	Intent intent = new Intent();
        intent.setClass(ChattActivity.this,AddchatMainActivity.class);
        startActivityForResult(intent,0);
    }
    public void onActivityResult(int requestCode, int resultCode, Intent data){
        /*
         * 这里是回调函数 当返回到聊天主界面时
         * 都执行该回调函数
         * 先把list清空 
         * 再重新对listview赋值 起到刷新的作用
         * 页面跳转的方法:详见blog
         */
    	list.clear();
    	createList();
		Toast.makeText(getApplicationContext(), "huidiao",Toast.LENGTH_SHORT).show();
    }
重要的点:

1.跳转页面代码:

Intent intent = new Intent();
intent.setClass(ChattActivity.this,AddchatMainActivity.class);
startActivityForResult(intent,0);

注意这里用的是startActivityForResult 

2.回调函数:

onActivityResult

这里面要做到一个刷新的效果 首先要把list清空 再重新向PHP网页请求数据库的内容

B页面主要代码:

Intent intent=new Intent(AddchatMainActivity.this,ChattActivity.class);
setResult(0,intent);
finish();

这部分自己体会~~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值