Android studio 自动保存(SharedReferences)动态创建的表行编辑文本值

Android studio 自动保存(SharedReferences)动态创建的表行编辑文本值,android-studio,Android Studio,执事小组, 我想保存在动态创建的表行编辑文本中输入的值 @SuppressLint("ResourceType") public void init() { TableLayout stk = (TableLayout) findViewById(R.id.table_main); TableRow tbrow0 = new TableRow(this); TextView tv0 = new TextView(this); tv0.s

执事小组, 我想保存在动态创建的表行编辑文本中输入的值

    @SuppressLint("ResourceType")
public void init() {
    TableLayout stk = (TableLayout) findViewById(R.id.table_main);
    TableRow tbrow0 = new TableRow(this);
    TextView tv0 = new TextView(this);
    tv0.setText("Actual Values ");
    tv0.setWidth(330);
    tv0.setGravity(Gravity.CENTER);
    tv0.setTextColor(Color.WHITE);
    tv0.setTextSize(12);
    tv0.setBackgroundResource(R.drawable.border4);
    tbrow0.addView(tv0);
    TextView tv1 = new TextView(this);
    tv1.setText("Meter Values ");
    tv1.setWidth(330);
    tv1.setGravity(Gravity.CENTER);
    tv1.setTextColor(Color.WHITE);
    tv1.setTextSize(12);
    tv1.setBackgroundResource(R.drawable.border4);
    tbrow0.addView(tv1);
    TextView tv2 = new TextView(this);
    tv2.setText("Error ");
    tv2.setWidth(315);
    tv2.setGravity(Gravity.CENTER);
    tv2.setTextColor(Color.WHITE);
    tv2.setTextSize(12);
    tv2.setBackgroundResource(R.drawable.border4);
    tbrow0.addView(tv2);


    Intent z = getIntent();
    input1 = z.getIntExtra(EDIT, 1);
    input2 = z.getIntExtra(TEXT, 1);

    if (input2 == 0) {
        x = 400;
    } else {
        x = input1 / input2;
    }


    stk.addView(tbrow0);
        for (int i = 0; i < x + 1; i++) {
            TableRow tbrow = new TableRow(this);
            final EditText t1v = new EditText(this);
            t1v.setId(1);
            if (input2 == 0) {
                t1v.setHint("");
            } else {
                t1v.setText("" + i * input2);
            }


            t1v.setTextColor(Color.BLACK);
            t1v.setGravity(Gravity.CENTER);
            t1v.setTextSize(12);
            t1v.setInputType(InputType.TYPE_CLASS_NUMBER);
            t1v.setBackgroundResource(R.drawable.border);
            tbrow.addView(t1v);

            final EditText t2v = new EditText(this);
                t2v.setHint("");
                t2v.setTextColor(Color.BLACK);
                t2v.setGravity(Gravity.CENTER);
                t2v.setTextSize(12);
                t2v.setInputType(InputType.TYPE_CLASS_NUMBER);
                t2v.setBackgroundResource(R.drawable.border);
                tbrow.addView(t2v);

            TextView t3v = new TextView(this);
            t3v.setHint("");
            t3v.setTextColor(Color.BLACK);
            t3v.setGravity(Gravity.CENTER);
            t3v.setTextSize(12);
            t3v.setBackgroundResource(R.drawable.border);
            tbrow.addView(t3v);
            stk.addView(tbrow);

            SharedPreferences Prefs = PreferenceManager.getDefaultSharedPreferences(this);
           String s = Prefs.getString("s1", "");
            t2v.setText(s);

        TextWatcher textWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

                if (!t2v.getText().toString().equals("")) {
                    int temp1 = Integer.parseInt(t2v.getText().toString());
                    int temp2 = Integer.parseInt(t1v.getText().toString());
                    t3v.setText(String.valueOf(temp1 - temp2));
                }

                s1 = t2v.getText().toString();

               // To Save the data
                SharedPreferences Prefs = PreferenceManager.getDefaultSharedPreferences(AggreAscendingorder.this);
                SharedPreferences.Editor editor = Prefs.edit();

                editor.putString("s1",t2v.getText().toString());

                editor.apply();
            }
@SuppressLint(“资源类型”)
公共void init(){
TableLayout stk=(TableLayout)findviewbyd(R.id.table_main);
TableRow tbrow0=新的TableRow(此);
TextView tv0=新的TextView(此);
tv0.setText(“实际值”);
tv0.setWidth(330);
tv0.setGravity(重心);
tv0.setTextColor(Color.WHITE);
tv0.setTextSize(12);
tv0.setBackgroundResource(R.drawable.border4);
tbrow0.addView(tv0);
TextView tv1=新的TextView(本);
tv1.setText(“仪表值”);
tv1.setWidth(330);
tv1.setGravity(重心);
tv1.setTextColor(Color.WHITE);
tv1.setTextSize(12);
tv1.挫折资源(R.可绘制边界4);
tbrow0.addView(tv1);
TextView tv2=新的TextView(本);
tv2.setText(“错误”);
tv2.setWidth(315);
tv2.setGravity(重心);
tv2.setTextColor(Color.WHITE);
tv2.setTextSize(12);
tv2.挫折资源(R.可绘制边界4);
tbrow0.addView(tv2);
Intent z=getIntent();
input1=z.getIntExtra(编辑,1);
input2=z.getIntExtra(文本,1);
如果(输入2==0){
x=400;
}否则{
x=输入1/输入2;
}
stk.addView(tbrow0);
对于(int i=0;i
使用上面的代码,当我编辑t2v列中的任何值时,它会保存所有行上最后编辑的值

有人能纠正我在哪里犯的错误吗

我的桌子如下图所示