2014-01-21 3 views
0

мне нужно импортировать следующие два различных библиотекиКак использовать два разных OnClickListener в той же активности?

import android.content.DialogInterface.OnClickListener; 
import android.view.View.OnClickListener; 

, как я хочу, как и DialogInterface.OnClickListenerView.OnClickListener в одной и той же деятельности !!

как я могу справиться с этим? !!

потому что когда использую как onClickListener У меня есть ошибка!

Возможно ли иметь два разных onClickListener в одном классе? !!

ответ

2

Импорт только android.content.DialogInterface и android.view.View. Тогда вы будете иметь возможность ссылаться на различные классы OnClickListener, квалифицируя их родительский класс, как в

DialogInterface.OnClickListener foo = ...; 
// and 
View.OnClickListener bar = ...; 

вам повезет, в этом случае, так как эти два класса с тем же именем, случается быть вложенными классы. Если бы они не были - той лишь разницей, имя пакета, вы должны использовать полное имя класса, по крайней мере, один из них:

android.content.DialogInterface.OnClickListener foo = ...; 
OnClickListener bar = ...; 

// or 
OnClickListener foo = ...; 
android.view.View.OnClickListener bar = ...; 

// or 
android.content.DialogInterface.OnClickListener foo = ...; 
android.view.View.OnClickListener bar = ...; 

, который ни весело читать, ни писать.

1

один путь может быть

public class MyClass implements DialogInterface.OnClickListener, View.OnClickListener { 

} 
+0

избил меня. upvote –

0

Вы можете импортировать один и вызвать следующий onClickListener как говорят Dialog.onClickListener

0

Сделайте ваш класс реализует интерфейсы

extends Activity implements View.OnClickListener,DialogInterface.OnClickListener 

Тогда

@Override 
public void onClick(DialogInterface dialog, int which) { 
    // do something 

} 

@Override 
public void onClick(View v) { 
    // dosomething 
} 
Смежные вопросы