安卓数据传送时,传值不对应。

我把其他数据打印出来,发现只有id是对的,其他传值都是只把最后一条的记录传过去的比如我点击第一条数据,传过去的id确实是1,可是剩下的数据值都是最后一条记录的数据
为什么呢?求大神们指导一下,谢谢!

图片说明
图片说明
图片说明
图片说明

这就是你存储数据的方式或者跳转的携带数据方式出了问题

你把你传数据的类和接数据的类发上来看看

public class InComeBookActivity extends Activity {

ImageView InComeBookReturn;
ListView ListViewInComeBook;
CursorAdapter adapter;
private MyOpenHelper helper;
private Cursor cur;

String ICMoney;
String ICTime;
String ICRemarks;
String ICSource;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_incomebook);

    ListViewInComeBook = (ListView) findViewById(R.id.ListViewInComeBook);
    InComeBookReturn = (ImageView) findViewById(R.id.InComeBookReturn);

    helper = new MyOpenHelper(this);

    InComeBookReturn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
        //  finish();

            Intent intent = new Intent();

            intent.setClass(InComeBookActivity.this, MainActivity.class);
            startActivity(intent);


        }
    });

    SQLiteDatabase db = helper.getReadableDatabase();

    // select 列名 ,列名 ..from表名where ..
    cur = db.query("InCome", // 表名
            null, // 选择的列的列名 String[]
            null, // where后面的语句
            null,// 行条件的参数 String[]
            null,// group by 后面的语句
            null, // having 后面的语句
            null // 排序
    );


    adapter = new CursorAdapter(this, cur) {

        @Override
        public View newView(Context context, Cursor cursor, ViewGroup parent) {
            View view = LayoutInflater.from(InComeBookActivity.this)
                    .inflate(R.layout.activity_incomebook_listitem, null);
            return view;
        }

        // 绑定activity_incomebook_listitem视图
        @Override
        public void bindView(View v, Context context, Cursor cursor) {

            final TextView tvICMoney = (TextView) v
                    .findViewById(R.id.tvICBookMoney);
            final TextView tvICTime = (TextView) v
                    .findViewById(R.id.tvICBookTime);
            final TextView tvICRemarks = (TextView) v
                    .findViewById(R.id.tvICBookRemarks);
            final TextView tvICSource = (TextView) v
                    .findViewById(R.id.tvICBookSource);
            final ImageView goIn = (ImageView) v
                    .findViewById(R.id.goIn);


            // 通过游标取得Id
             final int id = cursor.getInt(cursor.getColumnIndex("_id"));
            // 传值到UpdateInComeBookActivity
             goIn.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    Bundle bundle = new Bundle();
                    bundle.putInt("id", id);
                    Log.i("zxj", " wxl id="+id);
                    bundle.putString("icmoney", ICMoney);
                    bundle.putString("ictime", ICTime);
                    bundle.putString("icremarks", ICRemarks);
                    bundle.putString("icsource", ICSource);

                    Intent intent = new Intent();

                    intent.putExtras(bundle);

                    intent.setClass(InComeBookActivity.this, UpdateInComeBookActivity.class);
                    startActivity(intent);


                }
            });



            int columnIndex = cursor.getColumnIndex("Money");
            ICMoney = cursor.getString(columnIndex);

            int columnIndex2 = cursor.getColumnIndex("InComeTime");
            ICTime = cursor.getString(columnIndex2);

            int columnIndex3 = cursor.getColumnIndex("Remarks");
            ICRemarks = cursor.getString(columnIndex3);

            int columnIndex4 = cursor.getColumnIndex("Source");
            ICSource = cursor.getString(columnIndex4);





            // 设置显示
            tvICMoney.setText(ICMoney);         
            tvICTime.setText(ICTime);
            tvICRemarks.setText(ICRemarks);
            tvICSource.setText(ICSource);



        }

    };
    ListViewInComeBook.setAdapter(adapter);

    /*Log.i("zxj", "ListView000");
    // 传值到UpdateInComeBookActivity
    ListViewInComeBook.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?>  parent, View view, int position, long id) {

            Map<String, Object> click = (Map<String, Object>) parent.getItemAtPosition(position);

            Log.i("zxj", "ListView");

            String income_id = click.get("_id").toString();
            String income_money = click.get("Money").toString();
            String income_time = click.get("InComeTime").toString();
            String income_remarks = click.get("Remarks").toString();
            String income_source = click.get("Source").toString();


            Bundle bundle = new Bundle();
            bundle.putString("icid", income_id);
            bundle.putString("icmoney", income_money);
            bundle.putString("ictime", income_time);
            bundle.putString("icremarks", income_remarks);
            bundle.putString("icsource", income_source);

            Intent intent = new Intent();

            intent.putExtras(bundle);

            intent.setClass(InComeBookActivity.this, UpdateInComeBookActivity.class);
            startActivity(intent);


        }

    });*/
}

}

接收数据类:
package com.example.dance_society_masystem;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.CursorAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;

public class UpdateInComeBookActivity extends Activity {

ImageView UpdateIncomeReturn;
EditText etUpdateICMoney;
EditText etUpdateICTime;
EditText etUpdateICRemarks;
EditText etUpdateICSource;
Button btUpdateIC;
Button btDeleteIC;
CursorAdapter adapter;
private MyOpenHelper helper;
private Cursor cur;

private int InComeId;
private String InComeMoney;
private String InComeTime;
private String InComeRemarks;
private String InComeSource;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_update_incomebook);

    UpdateIncomeReturn = (ImageView) findViewById(R.id.UpdateIncomeReturn);
    etUpdateICMoney = (EditText) findViewById(R.id.etUpdateICMoney);
    etUpdateICTime = (EditText) findViewById(R.id.etUpdateICTime);
    etUpdateICRemarks = (EditText) findViewById(R.id.etUpdateICRemarks);
    etUpdateICSource = (EditText) findViewById(R.id.etUpdateICSource);
    btUpdateIC = (Button) findViewById(R.id.btUpdateIC);
    btDeleteIC = (Button) findViewById(R.id.btDeleteIC);

    helper = new MyOpenHelper(this);


    UpdateIncomeReturn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent();                                       
                intent.setClass(UpdateInComeBookActivity.this, InComeBookActivity.class);
                startActivity(intent);

            }
        });


          //从InComeBookActivity的那边接收值
            Bundle bundle = new Bundle();
            bundle = this.getIntent().getExtras();

            if(bundle!=null){
            InComeId = bundle.getInt("id");
            InComeMoney = bundle.getString("icmoney");      
            InComeTime = bundle.getString("ictime");
            InComeRemarks = bundle.getString("icremarks");      
            InComeSource = bundle.getString("icsource");
        }

            // 设置显示
            etUpdateICMoney.setText(InComeMoney);
            etUpdateICTime.setText(InComeTime);
            etUpdateICRemarks.setText(InComeRemarks);
            etUpdateICSource.setText(InComeSource);


            //修改数据
            btUpdateIC.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    //设置对话框               
                    new AlertDialog.Builder(UpdateInComeBookActivity.this)
                    .setTitle("系统提示") // 设置对话框标题                      
                    .setMessage("请确认是否要要修改!")// 设置显示的内容                       
                    .setPositiveButton("确认",
                            new DialogInterface.OnClickListener() {// 添加确定按钮

                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {// 确定按钮的响应事件                  

                                    String UpdateICMoney = etUpdateICMoney.getText().toString().trim();
                                    String UpdateICTime = etUpdateICTime.getText().toString().trim();
                                    String UpdateICRemarks = etUpdateICRemarks.getText().toString().trim();
                                    String UpdateICSource = etUpdateICSource.getText().toString().trim();


                                    // 游标所指向的数据
                                //  String id = cur.getString(cur.getColumnIndex("_id"));
                                //  final int id = cursor.getInt(cursor.getColumnIndex("_id"));
                                    SQLiteDatabase db = helper.getReadableDatabase();

                                    // 修改的列及新值
                                    ContentValues values = new ContentValues();
                                    values.put("Money", UpdateICMoney);
                                    values.put("InComeTime", UpdateICTime);
                                    values.put("Remarks", UpdateICRemarks);
                                    values.put("Source", UpdateICSource);                       

                                    int line = db.update("InCome", values, "_id="+InComeId,null);
                                    if (line > 0) {

                                     Toast.makeText(UpdateInComeBookActivity.this, "修改成功!", Toast.LENGTH_LONG).show();

                                    }

                                    Cursor cur1 = db.query("InCome", // 表名
                                            null, // 选择的列的列名 String[]
                                            null, // where后面的语句
                                            null,// 行条件的参数 String[]
                                            null,// group by 后面的语句
                                            null, // having 后面的语句
                                            null // 排序
                                            );


                                    adapter.changeCursor(cur1);// 更新数据库

                                    adapter.notifyDataSetChanged();// 更新数据

                                    db.close();                 

                                    finish();

                                }

                            })
                    .setNegativeButton("取消",
                            new DialogInterface.OnClickListener() {// 添加返回按钮

                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {// 响应事件

                                    // TODO Auto-generated method stub

                                    // Log.i("alertdialog"," 请保存数据!");

                                }

                            }).show();// 在按键响应事件中显示此对话框


                }
            });



            //删除数据

            btDeleteIC.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {

                    //设置对话框               
                    new AlertDialog.Builder(UpdateInComeBookActivity.this)
                    .setTitle("系统提示") // 设置对话框标题                      
                    .setMessage("请确认是否要删除!")// 设置显示的内容                      
                    .setPositiveButton("确认",
                            new DialogInterface.OnClickListener() {// 添加确定按钮

                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {// 确定按钮的响应事件


                                    DeleteData(InComeId);

                                    //
                                    finish();

                                }

                            })
                    .setNegativeButton("取消",
                            new DialogInterface.OnClickListener() {// 添加返回按钮

                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {// 响应事件

                                    // TODO Auto-generated method stub

                                    // Log.i("alertdialog"," 请保存数据!");

                                }

                            }).show();// 在按键响应事件中显示此对话框


                }


            });

}

private void DeleteData(int x){
    SQLiteDatabase db = helper.getReadableDatabase();

    // delete方法返回影响的行数
    int line = db.delete("InCome", "_id=?",
            new String[] { String.valueOf(x) });

    if (line > 0) {
        Toast.makeText(this, "删除成功!", Toast.LENGTH_LONG).show();
    }

    Cursor cur1 = db.query("InCome", // 表名
            null, // 选择的列的列名 String[]
            null, // where后面的语句
            null,// 行条件的参数 String[]
            null,// group by 后面的语句
            null, // having 后面的语句
            null // 排序
            );


    adapter.changeCursor(cur1);// 更新数据库
    adapter.notifyDataSetChanged();// 更新数据

    db.close();


}

}