从editText获得的int不显示

问题描述

我正在使用sharedPreferences做一个保存系统,问题是,当我运行应用程序时,似乎保存了String,但是稍后将其转换为int时,它返回null值或0 ... 编辑文本仅接收数字,而我尝试的是获取其值作为字符串,然后将其转换为int,因为我想在另一个活动中使用该值

package com.example.ml_prototipe_a;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
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 java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class MainActivity extends AppCompatActivity {

private EditText inputLimiter;
private TextView mostrarLimite;
public String limiterStr;
public int limiterInt;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mostrarLimite = (TextView)findViewById(R.id.MostrarAciertos);
    inputLimiter = (EditText) findViewById(R.id.InLimAciertos);
    limiterStr = inputLimiter.getText().toString().trim();

    Button btnRecNotas = findViewById(R.id.recNotasBtn);
    Button btnGuardarLim = findViewById(R.id.GuardarLimite);
    btnRecNotas.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intRecNotas = new Intent(MainActivity.this,MainRecNotas.class);
            startActivityForResult(intRecNotas,0);
        }
    });
    btnGuardarLim.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        }
    });
}
public void Cargar(View view){
    SharedPreferences limitPrefs= getBaseContext().getSharedPreferences("limitData",Context.MODE_PRIVATE);
    String recovaStr = limitPrefs.getString("numbreLimiter","");
    if(!"".equals(recovaStr)) {
        limiterInt = Integer.parseInt(recovaStr);
        mostrarLimite.setText("aciertos: " + limiterInt);
        System.out.println(limiterInt);
    }
}

public void Guardar(View view){
if(mostrarLimite!=null) {
    SharedPreferences limitPrefs = getBaseContext().getSharedPreferences("limitData",Context.MODE_PRIVATE);
    SharedPreferences.Editor editer = limitPrefs.edit();
    editer.putString("numberLimiter",limiterStr);
    editer.apply();
  }
 }
}

新密码!!!! ********************************

package com.example.ml_prototipe_a;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
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 java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class MainActivity extends AppCompatActivity {

private EditText inputLimiter;
private TextView mostrarLimite;
public String limiterStr;
public int limiterInt;

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

    mostrarLimite = (TextView) findViewById(R.id.MostrarAciertos);
    inputLimiter = (EditText) findViewById(R.id.InLimAciertos);

    Button btnRecNotas = findViewById(R.id.recNotasBtn);
    Button btnGuardarLim = findViewById(R.id.GuardarLimite);
    Button btnCargarLimTEMP = findViewById(R.id.cargarTemp);
    btnRecNotas.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intRecNotas = new Intent(MainActivity.this,0);
        }
    });
    btnGuardarLim.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Guardar();
        }
    });
    btnCargarLimTEMP.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Cargar();
        }
    });
}

private void Cargar() {
    SharedPreferences limitPrefs = getBaseContext().getSharedPreferences("limitData","");
    try {
        limiterInt = Integer.parseInt(recovaStr);
    } catch (NumberFormatException nfe) {
        System.out.println("Could not parse " + nfe);
    }
    mostrarLimite.setText("aciertos: " + limiterInt);
    System.out.println(limiterInt);
    Toast.makeText(this,"Limite de aciertos: " + limiterInt,Toast.LENGTH_SHORT).show();
}

private void Guardar() {
    if (mostrarLimite != null) {
        SharedPreferences limitPrefs = getBaseContext().getSharedPreferences("limitData",Context.MODE_PRIVATE);
        SharedPreferences.Editor editer = limitPrefs.edit();
        editer.putString("numberLimiter",limiterStr);
        editer.apply();
        limiterStr = inputLimiter.getText().toString().trim();
        Toast.makeText(this,"Limite de aciertos actualizado: " + limiterStr,Toast.LENGTH_SHORT).show();
        System.out.println(limiterStr);
    }
}

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...