Java Android — setOnClickListener(View.OnClickListener) в типе View неприменим для аргументов (новый OnClickListener(){})

При использовании следующего кода я продолжаю получать ошибки, я знаю, что есть другой способ использования функций onclick, android:onclick... но я предпочитаю этот "более чистый" способ.

имя идентификатора textview правильное, но я продолжаю получать эту ошибку с onclicklistener.

Что я делаю не так?

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

    TextView text = (TextView) findViewById(usernameText);
    text.setOnClickListener(new OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            // Do some job here

        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main_screen, menu);
    return true;
}`

person Thomas VC    schedule 23.05.2013    source источник
comment
какую ошибку вы получаете?   -  person Blackbelt    schedule 23.05.2013
comment
убедитесь, что у вас есть этот оператор импорта import android.view.View.OnClickListener;   -  person Raghunandan    schedule 23.05.2013
comment
также определить «очиститель»?   -  person njzk2    schedule 23.05.2013


Ответы (4)


Проблема может заключаться в импортированной банке с onClickListener...

Попробуйте добавить это:

text.setOnClickListener(new View.OnClickListener() 
{
    @Override
    public void onClick(View v) 
    {
        // Do some job here

    }
});
person Manuel Pires    schedule 23.05.2013
comment
@Raghunandan, код OP не указывает View.OnClickListener. - person Yevgeny Simkin; 23.05.2013
comment
@Dr.Dredel, я думаю, проблема в неправильном операторе импорта. - person Raghunandan; 23.05.2013
comment
@Raghunandan, я согласен ... но он импортирует правильный класс, если вы укажете View (я полагаю). - person Yevgeny Simkin; 23.05.2013
comment
Возможно... Но если он использует диалог onClickListener, даже если он импортирует пакет View, у него будет та же проблема... - person Manuel Pires; 23.05.2013
comment
этот код работает для меня, но я не добавил банку. и добавление импорта view.onclicklistener не сработало. - person Thomas VC; 23.05.2013
comment
Когда вы делаете View.onClickListener, пакет автоматически импортируется, если вы используете eclipe - person Manuel Pires; 23.05.2013

не видя вашей ошибки, я предполагаю, что вы, вероятно, импортировали неправильный OnClickListener. Убедитесь, что это View.

person Yevgeny Simkin    schedule 23.05.2013
comment
Кроме того, если вам нужны мои 2 цента, этот подход ни в коем случае не чище, чем просто установка onClick в XML. - person Yevgeny Simkin; 23.05.2013
comment
я проверил, было ли это представление, но это ничего не сделало с моей ошибкой. - person Thomas VC; 23.05.2013
comment
ну, вы выбрали тот же ответ, что и мой, в качестве правильного ответа, так что, должно быть, проблема была в нем! :) - person Yevgeny Simkin; 23.05.2013

Возможно, вам следует сделать снимок экрана и загрузить его сюда, но, пожалуйста, найдите свой код:

Убедитесь, что вы

import View.OnClickListener
person Luc    schedule 23.05.2013

person    schedule
comment
Не хочешь ли ты рассказать нам что-нибудь о своем коде? - person Alex Cio; 06.02.2015