无法在onClick(视图视图)方法中解析int

时间:2015-09-26 02:11:45

标签: android

有人可以帮我解决这个问题吗?

public class Pin extends ActionBarActivity implements View.OnClickListener {

    Button btn_pin;
    EditText input_pin;
    int Pin;

    UserLocalStore userLocalStore;

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

        btn_pin = (Button) findViewById(R.id.btn_pin);
        int Pin = Integer.parseInt(input_pin.getText().toString());
        input_pin = (EditText) findViewById(R.id.input_pin);

        btn_pin.setOnClickListener(this);

        userLocalStore = new UserLocalStore(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.btn_pin:
                int Pin = Integer.parseInt(input_pin.getText().toString());
                User user = new User(Pin);

                authenticate(user);
                break;
        }
    }

int Pin行有错误。我不知道如何解决这个问题对我有帮助吗?

错误:(42,29)错误:没有为User(int)找到合适的构造函数 构造函数User.User(String,String)不适用 (实际和正式的参数列表长度不同) 构造函数User.User(String,String,int,int,String,String)不适用 (实际和正式的参数列表长度不同)

它说错误:(41,38)错误:找不到符号变量Pin如何找到它并使其正确。?

2 个答案:

答案 0 :(得分:1)

btn_pin = (Button) findViewById(R.id.btn_pin);
int Pin = Integer.parseInt(input_pin.getText().toString());
input_pin = (EditText) findViewById(R.id.input_pin);

您应该在input_pin之后使用findViewById,否则您将获得NullPointerException

答案 1 :(得分:0)

int Pin;

这意味着当您想使用int时需要更改用户。你宣布了​​

int Pin = Integer.parseInt(input_pin.getText().toString());

作为全局变量。然后你必须在其余的源代码中使用它而没有类型" int"。例如:

更改

  Pin = Integer.parseInt(input_pin.getText().toString());

foreach ($orderList as $order) {
    $arr[] = array(
        'd'     => ''.$order['createdDate'].'',
        'sales' => ''.$order['order_price'].'',
    );
}
echo json_encode($arr);