2012-05-18 4 views
4
@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, и я хотел бы записать вниз, сколько раз пользователь пытался войти, поэтому каждый раз, когда есть попытка Войти счетчик будет увеличиваться на один ... но когда я запускаю активность, эта ошибка появляется в моем LogCat:

android.content.res.Resources$NotFoundException: String resource ID #0x1,

Может кто-то помочь мне решить эту проблему?

+0

вы должны попробовать после очистки проекта от Project-Clean в Eclipse IDE? –

ответ

14

Вот ваша ошибка:

Toast.makeText(ScreenLockActivity.this, count, Toast.LENGTH_SHORT).show(); 

makeText вы пытаетесь вызвать здесь, является makeText, который принимает в качестве второго параметра а resId. См. here для получения дополнительной информации. Поскольку вы хотите напечатать значение count, вам нужно преобразовать его в строку.

String value = String.valueOf(count); 
Toast.makeText(ScreenLockActivity.this, value, Toast.LENGTH_SHORT).show(); 
+1

Большое спасибо !!! Оно работает!!! –

+0

@blackbelt, столкнулся с той же ошибкой, поэтому, пожалуйста, скажите мне, как определить строку ошибки – AndroidOptimist

+0

@ AndroidOptimist это в stacktrace. В логарифме вы увидите много красных линий, когда возникает ошибка. вы должны искать тот, который указывает в вашем коде – Blackbelt

0

Эта линия должна быть внутри onClick() или compareID():

userInput = input.getText().toString();