Java Interfaceの使い方
5742 ワード
Java interfaceにはいろいろな使い方がありますが、最も一般的なのはinterfaceを通じてデータを伝えることです.第1種
以上が最も簡単なデータ伝達の使い方です第2種
public interface IData {
void value(String str);
}
public class ClassA {
public void sendData(IData idata){
idata.value("This is ClassA'value");
}
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
ClassA ca = new ClassA();
ca.sendData(new IData() {
@Override
public void value(String str) {
// TODO Auto-generated method stub
System.out.println(str);
}
});
}
}
以上が最も簡単なデータ伝達の使い方です
public interface IPositionListener {
void selectedPosition(int postion);
}
public class Adapter extends PagerAdapter{
private List viewList;
IPositionListener iPositionListener;
public Adapter(List viewList) {
this.viewList = viewList;
}
@Override
public int getCount() {
return viewList.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {//
iPositionListener.selectedPosition(position);
container.addView(viewList.get(position));
return viewList.get(position);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {//
container.removeView(viewList.get(position));
}
public void setOnItemClickListener(IPositionListener iPositionListener) {
this.iPositionListener = iPositionListener;
}
}
private void initView() {
viewPager = (ViewPager) findViewById(R.id.viewpager);
for (int i = 0; i< imgs.length; i++){
img = new ImageView(this);
img.setImageResource(imgs[i]);
viewList.add(img);
}
initViewPagerScroll();
Adapter adapter = new Adapter(viewList);
viewPager.setAdapter(adapter);
mHandler.sendEmptyMessage(0x11);
adapter.setOnItemClickListener(new IPositionListener() {
@Override
public void selectedPosition(int postion) {
Toast.makeText(MainActivity.this," "+(postion+1)+" ",Toast.LENGTH_LONG).show();
PicClick(postion);
}
});
}
private void PicClick(int postion) {
switch (postion){
// TODO
}
}