Я пытаюсь добавить прослушиватель щелчков и прослушиватель длинных щелчков к моей основной активности, но он не срабатывает ... ниже приведен мой код, не знаю, почему он не срабатывает, может кто-нибудь сказать мне, что мне не хватает?Можно ли даже добавить прослушиватель для всей активности?
public class HomeFavesActivity extends Activity implements OnClickListener, OnLongClickListener{
private static final String TAG = "HomeFavesCatovoty";
private ArrayList<Integer> mIcons = new ArrayList<Integer>();
IconTray iconTray;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.v(TAG, "CREATED");
DataBaseManager db = new DataBaseManager(this);
/*db.getWritableDatabase();
db.AddHomeScreenIcon(1);
db.AddHomeScreenIcon(2);
db.AddHomeScreenIcon(3);
db.AddHomeScreenIcon(4);
db.AddHomeScreenIcon(5);
db.AddHomeScreenIcon(6);
db.AddHomeScreenIcon(7);*/
getScreenIcons(db);
}
private void getScreenIcons(DataBaseManager db){
mIcons = db.getScreenIcons("TestScreenIcons");
Log.v(TAG, "List Length:"+ mIcons.size());
RelativeLayout rl = (RelativeLayout)findViewById(R.id.main);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenWidth = metrics.heightPixels;
int screenHeight = metrics.widthPixels;
iconTray = new IconTray(this, mIcons, null, screenWidth, screenHeight);
/*
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(screenWidth, screenHeight);
params.addRule(rl.CENTER_IN_PARENT);
iconTray.setLayoutParams(params);*/
rl.addView(iconTray);
rl.setOnLongClickListener(this);
rl.setOnClickListener(this);
}
public void onClick() {
// TODO Auto-generated method stub
Toast.makeText(this, "woot",
Toast.LENGTH_SHORT).show();
}
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
iconTray.longClickMode();
return false;
}
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
iconTray.clickMode();
}
}
ОК, так что теперь слушатель LongClick работает, но если добавить строку для щелчка, он не будет опубликован, потому что он генерирует ошибку.
Метод setOnClickListener (View.OnClickListener) в типе View не применим для аргументов (HomeFavesActivity)