2015-01-08 3 views
1

Я написал xml-файл для своего кода, и у него есть 2 кнопки. Тем не менее, кнопки в java-файле по умолчанию показали это.В чем разница между View arg0 и View v?

BCel.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View arg0) { 
     // TODO Auto-generated method stub 
     output=(input-32)*5/9; 
    } 
}); 
BFah.setOnClickListener(new View.OnClickListener() {  
    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     output=1.8*input+32; 
    } 
}); 

(выход = ..., очевидно, написана мной)

То, что я не понимаю, почему он показывает arg0 в первой и V в второй. Другие подобные вопросы задают вопрос, почему он показывает arg0, arg1, ar2 и т. Д., Но я не понимаю этого разнообразия.

Это может вызвать ошибки в моем приложении?

ответ

2

arg0 и v - это просто имена переменных. Вы можете выбрать любой действительный идентификатор Java.

Я не понимаю, почему он показывает arg0 в первом и v во втором.

Если вы, в Eclipse, выберите опцию «Переопределить метод в OnClickListener» или позволить заполнить Затмения в методах в анонимном классе он автоматически выберет то же имя переменной, как перекрытых методов (и Arg N если исходный код не прилагается).

Принесут ли это какие-либо ошибки в моей заявке?

Нет, если вы придерживаетесь действительных идентификаторов Java, это не вызовет никаких ошибок.

0

Иные имена не будут вызывать ошибки в вашем приложении. Это имена ваших параметров для этих методов. Скорее всего, Eclipse автоматически генерирует имя параметра при создании анонимного класса с использованием new View.OnClickListener() {...}, но вы можете использовать любой допустимый идентификатор Java.

0

Нет никакой разницы между arg0 и v. как только идентификатор может быть вы получили сообщение об ошибке из-за это Заявление

output=1.8*input+32; 

может быть литья об ошибках и т.д. в зависимости от типа данных «вход»

0

Вы можете использовать любое имя переменной не имеет значения . Вы получаете ошибку, потому что input - это неопределенный символ. Вы должны объявить его перед его использованием.

+0

'input' и' output' могут быть поля охватывающего класса. – aioobe

+0

Да. Они определены. @aioobe прав –

Смежные вопросы