0

swiperefreshlayout を実装しようとしていますが、「this」でエラーが発生しています

public class viewBets_activity extends ActionBarActivity {
    SwipeRefreshLayout swipeLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.viewbets);

        swipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container);
        swipeLayout.setOnRefreshListener(this);
        swipeLayout.setColorScheme(android.R.color.holo_blue_bright,
                android.R.color.holo_green_light,
                android.R.color.holo_orange_light,
                android.R.color.holo_red_light);

    }


    public void onRefresh() {
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                swipeLayout.setRefreshing(false);
            }
        }, 5000);

    }
}

swipeLayout.setOnRefreshListener(this); 以下のスクリーンショットでエラーが発生しています

ここに画像の説明を入力

4

2 に答える 2

4

さて、スクリーンショットを追加したので、エラーは明らかです。

setOnRefreshListener()間違った引数を!に渡しています。もちろん、これは考えてみれば当然のことです。あなたのクラスはActionBarActivity. OnRefreshListenerを ...として設定しようとしてActionBarActivityいますが、意味がありません! コードを次のように変更する必要があります。

swipeLayout.setOnRefreshListener(new OnRefreshListener()
  {
    @Override
    public void onRefresh()
      {
      // what you want to happen onRefresh goes here
      }
  });

ここでは、リスナーとして追加する新しい OnRefreshListener オブジェクトを作成しています。

将来的には、一般に、メソッドがあるときはいつでも、setOn______Listener()渡す引数On_____Listenerはカスタマイズしたオブジェクトになります。個別に作成することも、回答で行った方法で set メソッドで作成することもできます。

于 2014-11-18T00:38:08.750 に答える