2013-04-20 6 views
5

私はアンドロイドアプリケーションでPull to Refresh機能を実装したかったので、このライブラリを実装しました:Android-PullToRefresh。しかし、私はカスタムスタイルをプログラムで分割するように設定することはできません。Androidを使用して仕切り線でカスタムListViewを設定するにはどうすればよいですか?

コードは単純です:

list = (PullToRefreshListView) findViewById(R.id.list); 
int[] colors = {0, 0xFF97CF4D, 0}; 
list.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors)); 
list.setDividerHeight(1); 

しかし、それはこのエラーを投げている:The method setDivider(GradientDrawable) is undefined for the type PullToRefreshListViewThe method setDividerHeight(int) is undefined for the type PullToRefreshListView.

私はここで間違って何をしているのですか?

答えて

8

PullToRefreshListViewListViewではないため、そのエラーです。 PullToRefreshListViewの中のListViewにアクセスし、その上で​​メソッドを呼び出す必要があります。あなたがXMLの描画可能として、あなたのグラデーションを定義し、サンプルhere

などに示すように、右レイアウトに属性を設定することができ、代替として

list = (PullToRefreshListView) findViewById(R.id.list); 
int[] colors = {0, 0xFF97CF4D, 0}; 
ListView inner = list.getRefreshableView(); 
inner.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors)); 
inner.setDividerHeight(1); 

<com.handmark.pulltorefresh.library.PullToRefreshListView 
    android:divider="@drawable/fancy_gradient" 
    android:dividerHeight="@dimen/divider_height"... 
+0

それはエラーを与えます: '型不一致:ListViewからPullToRefreshListViewに変換できません。 ' – input

+1

上記のコードを確認してください:' PullToRefreshListView'で 'getRefreshableView()'を呼び出す必要があります。この場合、ListViewへのキャストは役に立たない。私は私の答えでそれを取り除くでしょう。 –

+0

コードが機能しませんでした。私は、XML描画可能な仕切りでスタイリングしました。助けてくれてありがとう! :) – input

関連する問題