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列中的任何值时,它会保存所有行上最后编辑的值
有人能纠正我在哪里犯的错误吗
我的桌子如下图所示