2017-03-10 13 views
0

SwipeRefreshLayoutで使用するすべてのメソッドは効果がありません。私はJavaにはかなり新しいので、変数をどのように定義していたのかもしれません。メソッドはSwipeRefreshLayoutには影響しません

public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     SharedPreferences pref = getSharedPreferences("application_settings", MODE_PRIVATE); 
     Boolean darkTheme = (pref.getBoolean("DarkTheme", false)); 
     if(darkTheme == false){ 
      setTheme(R.style.AppTheme); 
     } 
     else{ 
      setTheme(R.style.DarkAppTheme); 
     } 
     setContentView(R.layout.activity_main); 
     . 
     . 
     . 
     final SwipeRefreshLayout test = (SwipeRefreshLayout) findViewById(R.id.swiperefresh); 
     if (darkTheme == true) { 
      test.setColorSchemeResources(R.color.grey_check); 
     } 
     else{ 
      test.setColorSchemeResources(R.color.colorPrimary); 
     } 
     test.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { 

      @Override 
      public void onRefresh() { 
       test.setRefreshing(true); 
       OnSwipe(); 
      } 
     }); 
    } 

、ここでは私のOnSwipeある()メソッド:

public void OnSwipe(){ 
     mRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swiperefresh); 
     . 
     . // Some data processing 
     .  
     mRefreshLayout.setRefreshing(false); 

私はその状態に影響を与えるためにメソッドを使用するたびに、何もアイコンを除いて起こりません。ここ

は私のonCreate()であります表示する。リフレッシュアイコンの表示が停止されることはありません。

答えて

1

編集:私は答えを編集し、5分前に迅速にあなたの質問をお読みください。

あなたはグローバル変数としてこれを設定する必要があります。

SwipeRefreshLayout test; 

、その後のonCreate()で、このようにそれを設定します。

test = (SwipeRefreshLayout) findViewById(R.id.swiperefresh); 

これらの2つのステップの後に、あなたはこのようにそれを使用することができます:

test.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { 
     @Override 
     public void onRefresh() { 
      test.setRefreshing(true); 
      OnSwipe(); 
     } 
    }); 

とonSwipe():残念ながら、このソリューションが動作していない

public void OnSwipe(){ 
    . 
    . // Some data processing 
    .  
    test.setRefreshing(false); 
} 
+0

、それはまだ)(OnSwipeを呼び出していません。しかし、私を助けようとしています。 –

+0

アクティビティレイアウトXMLにビューを正しく配置してください。それは仕事でなければならない、私は思う別のポイントを逃している。また、 "test.setRefreshing(true);" onSwipe()メソッドの最初の行にありますが、この問題はこの行に関連しているとは思われません。 – ACAkgul

関連する問題