android 不同Activity之间数据传递

1. 传值Activity

package mydemo.mycom.demo2;

import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.List;

import mydemo.mycom.demo2.dao.UserDao;
import mydemo.mycom.demo2.entity.UserInfo;


public class Home extends ActionBarActivity implements View.OnClickListener {

    private ListView lv;
    private Button btn_home_to_login;
    private List<UserInfo> list;

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

        btn_home_to_login = (Button)findViewById(R.id.btn_home_to_login);
        lv = (ListView)findViewById(R.id.lv);
        btn_home_to_login.setOnClickListener(this);

        UserDao dao = new UserDao(this);
        list = dao.findAll();

        lv.setAdapter(new MyAdapter());
        lv.setOnItemClickListener(new MyItemClickListener());

    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_home, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    @Override
    public void onClick(View view) {
        Intent intent = new Intent();
        intent.setClass(Home.this,Register.class);
        startActivity(intent);

    }


    public class MyAdapter extends BaseAdapter
    {
        public int getCount() {
            return list.size();
        }

        @Override
        public Object getItem(int i) {
            return null;
        }

        @Override
        public long getItemId(int i) {
            return 0;
        }

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {

            UserInfo user = list.get(i);

            View itemview = View.inflate(Home.this,R.layout.activity_item,null);

            TextView tv_id = (TextView)itemview.findViewById(R.id.tv_id);
            TextView tv_username = (TextView)itemview.findViewById(R.id.tv_username);
            TextView tv_password = (TextView)itemview.findViewById(R.id.tv_password);

            tv_id.setText(user.getId()+"");
            tv_username.setText(user.getUsername());
            tv_password.setText(user.getPassword());
            return itemview;
        }
    }


    public class MyItemClickListener implements AdapterView.OnItemClickListener
    {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            ListView lView = (ListView)lv;
            TextView tv_id = (TextView)view.findViewById(R.id.tv_id);
            TextView tv_username = (TextView)view.findViewById(R.id.tv_username);
            TextView tv_password = (TextView)view.findViewById(R.id.tv_password);
            String id = tv_id.getText().toString();
            String username = tv_username.getText().toString();
            String password = tv_password.getText().toString();
            Toast.makeText(getApplicationContext(), id+","+username, Toast.LENGTH_SHORT).show();
            //不同的activity之间的传值
            Intent intent = new Intent();
            intent.putExtra("username",username);
            intent.putExtra("password",password);
            intent.putExtra("id",id);
            intent.setClass(Home.this,Edit.class);
            startActivity(intent);
        }
    }
}

2.接受Activity

package mydemo.mycom.demo2;

import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import org.w3c.dom.Text;

import mydemo.mycom.demo2.dao.UserDao;


public class Edit extends ActionBarActivity implements View.OnClickListener {

    private EditText edit_et_username;
    private EditText edit_et_password;
    private TextView edit_tv_id;
    private Button btn_edit;
    private Button btn_home;

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

        edit_et_username = (EditText)findViewById(R.id.edit_et_username);
        edit_et_password = (EditText)findViewById(R.id.edit_et_password);
        edit_tv_id = (TextView)findViewById(R.id.edit_tv_id);
        btn_edit = (Button)findViewById(R.id.btn_edit);
        btn_home = (Button)findViewById(R.id.btn_home);

        btn_edit.setOnClickListener(this);
        btn_home.setOnClickListener(this);
        //接受activity传过来的值
        Intent intent = getIntent();
        String username = intent.getStringExtra("username");
        String password = intent.getStringExtra("password");
        String id = intent.getStringExtra("id");

        edit_et_username.setText(username);
        edit_et_password.setText(password);
        edit_tv_id.setText(id);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.menu_edit, menu);
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId())
        {
            case R.id.btn_edit:

                String id = edit_tv_id.getText().toString();
                String password = edit_et_password.getText().toString().trim();
                String username = edit_et_username.getText().toString().trim();

                if(TextUtils.isEmpty(password) || TextUtils.isEmpty(username))
                {
                    Toast.makeText(this,"用户名或密码不能为空",Toast.LENGTH_SHORT).show();
                    return;
                }
                UserDao dao = new UserDao(this);
                boolean result = dao.findByUsername(username);
                if(result)
                {
                    Toast.makeText(this,"用户已被注册",Toast.LENGTH_SHORT).show();
                    return;
                }
                dao.modify(id,username,password);
                Toast.makeText(this,"修改成功",Toast.LENGTH_SHORT).show();
                Intent intent = new Intent();
                intent.setClass(this,Home.class);
                startActivity(intent);
                break;
            case R.id.btn_home:

                Intent tointent = new Intent();
                tointent.setClass(this,Home.class);
                startActivity(tointent);
                break;

        }
    }
}
原文地址:https://www.cnblogs.com/zoro-zero/p/4514126.html