@Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.screenlocked); //Retrieve stored ID final String STORAGE = "Storage"; SharedPreferences unique = getSharedPreferences(STORAGE, 0); LoginID = unique.getString("identifier", ""); //Retrieve stored phone number final String phoneNumber = unique.getString("PhoneNumber", ""); phoneView = (TextView) findViewById(R.id.phone); phoneView.setText(phoneNumber.toString()); //Retrieve user input input = (EditText) findViewById(R.id.editText1); userInput = input.getText().toString(); //Set login button login = (Button) findViewById(R.id.login); login.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { compareID(); } }); } public void compareID(){ if (userInput.equals(LoginID)){ //phone screen unlocked //continue Toast.makeText(ScreenLockActivity.this, "Success!", Toast.LENGTH_SHORT).show(); } else{ count += 1; input.setText(""); Toast.makeText(ScreenLockActivity.this, count, Toast.LENGTH_SHORT).show(); } }
我正在开发登录名activity,我想记下用户尝试登录的次数,因此每次尝试登录时,计数都会增加一…但是当我运行该活动时,此错误出现在我的活动中日志猫:
activity
android.content.res.Resources$NotFoundException: String resource ID #0x1,
android.content.res.Resources$NotFoundException: String resource ID #0x1
有人可以帮我解决这个问题吗?
这是您的错误:
Toast.makeText(ScreenLockActivity.this, count, Toast.LENGTH_SHORT).show();
在makeText你正试图在这里调用,是makeText这需要作为第二个参数resId。有关更多信息,请参见此处。由于要打印计数值,因此必须将其转换为字符串。
makeText
resId
String value = String.valueOf(count); Toast.makeText(ScreenLockActivity.this, value, Toast.LENGTH_SHORT).show();