Я не могу получить доступ к методу, помеченному **** (setScrollViewListener) из класса DetectHere. Даже вне класса (т. Е. Из метода onCreate) DetectHere метод setScrollViewListener действителен. создали класс SSScrollView, чтобы узнать, когда полоса прокрутки достигает конца прокрутки.не может получить доступ к методу во вложенном классе
package com.example.mee.layoutcreate;
import ...
public class MainActivity extends ActionBarActivity {
public interface ScrollViewListener {
void onScrollChanged(SSScrollView scrollView, int x, int y, int oldx, int oldy);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final SSScrollView scroll=new SSScrollView(this);
public class DetectHere implements ScrollViewListener {
scroll.setScrollViewListener(this); ********************* cannot access this method
@Override
public void onScrollChanged(SSScrollView scrollView, int x,
int y, int oldx, int oldy) {
return;
}
}
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Here is the class SSScrollView
package com.example.mee.layoutcreate;
import...
public class SSScrollView extends ScrollView {
private MainActivity.LDObservableScrollViewListener scrollViewListener = null;
public SSScrollView(Context context) {
super(context);
}
public SSScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public SSScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void setScrollViewListener(MainActivity.LDObservableScrollViewListener scrollViewListener) {
this.scrollViewListener = scrollViewListener;
}
@Override
protected void onScrollChanged(int x, int y, int oldx, int oldy) {
super.onScrollChanged(x, y, oldx, oldy);
if(scrollViewListener != null) {
scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);
}
}
}
является внутренним классом 'DetectHere' или в отдельном файле? – Yurets
Внутренний класс, внутри метод oncreate –
, вы должны обязательно сделать его 'private' и поставить его вне любых методов. – Yurets