2016-05-02 10 views
0

私はGroupClickを消費し、デフォルトの展開/折りたたみアクションが起こらないようにするExpandableListViewを持っています。Xamarin ExpandableListViewでは、groupclickをどのように消費するのですか?

「C#の道」を使用:

listView.GroupClick += (s, e) => 
{ 
    return true; 
}; 

GroupClicksを無効とするため、trueを返し、クリックを消費することができないと予想されているので、それがあっても有効ではありません。

私は(それが必要だ場合、私はやっていない好むが、理解するであろう)の「Javaの道」をしようとした場合:

class OnGroupClickListener : Java.Lang.Object, IOnGroupClickListener 
{ 
    public bool OnGroupClick(ExpandableListView parent, View clickedView, int groupPosition, long id) 
    { 
     Console.WriteLine("consuming groupclick"); 
     return true; 
    } 
} 

// elsewhere 
mylistview.SetOnGroupClickListener(new OnGroupClickListener()); 

それは、実際には何もしません。 OnGroupClickは呼び出されません。

次に、ビューでclickable = falseを使用してクリックを無効にしましたが、これはあまり好ましくありません。なぜなら、それを捕まえて自分のハンドラを実装したいからです。しかし、たとえexpandablelistviewとheader linearlayoutの両方でcodeとlayout xmlの両方でclickable falseを設定したとしても、それを止めることはできません。

単独で拡大/縮小をやめさせる方法はないようです。私は間違って何をしていますか?私はそれぞれの基本的な側面が欠けているような気がします。

答えて

1

親レイアウトまたはparentViewのビューにonclickEventを追加すると、デフォルトの展開/折りたたみアクションが自動的にオーバーライドされます。

+0

これはうまくいくようです。ヘッダー行にrowView.SetOnClickListenerを追加してクリックを捕捉し、デフォルトのアクションを防止します。 rowView.Click + =デリゲートを追加すると、それが追加されません。これはXamarinのバグですか(機能実装が不足しているようなものですか)? – ben

+0

私はXamrinの開発者ではありませんが、私はこれをガイドすることができます。現在の要件を説明してください。 –

+0

これはバグではありません。アンドロイドスタジオにも同様の問題があります。 –