У меня возникли проблемы с привязкой рассыпного прослушивателя с помощью метода, который обновляет изображение bakground в представлении.Метод вызова в MyActivity из класса прослушивателя
В два отдельных компоненте работает в изоляции - то есть:. 1) У меня есть слушатель в «классе LayoutSwipeListener», который улавливает жесты на макете Этого слушатель работает нормально 2) У меня есть метод в. MainActivity, называемый «updateWallpaperForward», который обновляет фоновое изображение на макете.
Однако, что я хочу сделать, это вызвать метод updateWallpaperForward из моего класса LayoutSwipeListener. Я не могу этого сделать. В настоящее время он компилируется, но приложение падает, когда я сажусь.
Любая помощь в этом была бы принята с благодарностью!
Соответствующий код приведен ниже:
КЛАСС: MyActivity.java
//Layout for wallpaper change
LinearLayout WallpaperLayout;
....
protected void onCreate(Bundle savedInstanceState) {
...
//Wallpaper layout
WallpaperLayout = (LinearLayout) findViewById(R.id.wallpaperLayout);
WallpaperLayout.setOnTouchListener(new LayoutSwipeListener(this));
...
public void updateWallpaperForward(View view) {
switch(wallpaperID) {
case 1:
WallpaperLayout.setBackgroundResource(R.drawable.wallpapertwo);
wallpaperID=2;
break;
...
КЛАСС: LayoutSwipeListener.java
public class LayoutSwipeListener implements View.OnTouchListener {
private Activity activity;
static final int MIN_DISTANCE = 100;
private float downX, downY, upX, upY;
public int wallpaperID = 1;
//Layout for wallpaper change
LinearLayout WallpaperLayout;
// private MainActivity mMainActivity;
public LayoutSwipeListener (Activity mainActivity) {
activity = mainActivity;
}
......
public void onLeftToRightSwipe() {
activity.updateWallpaperForward();
//// THIS IS WHERE IM STUCK - IT DOESNT PICK Up THIS METHOD IN THE EDITOR OR COMPILE
Просто для добавления - я попытался сделать статический статический метод, но он не работает, поскольку он имеет поля, на которые нельзя ссылаться, если они статичны. –