私は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を設定したとしても、それを止めることはできません。
単独で拡大/縮小をやめさせる方法はないようです。私は間違って何をしていますか?私はそれぞれの基本的な側面が欠けているような気がします。
これはうまくいくようです。ヘッダー行にrowView.SetOnClickListenerを追加してクリックを捕捉し、デフォルトのアクションを防止します。 rowView.Click + =デリゲートを追加すると、それが追加されません。これはXamarinのバグですか(機能実装が不足しているようなものですか)? – ben
私はXamrinの開発者ではありませんが、私はこれをガイドすることができます。現在の要件を説明してください。 –
これはバグではありません。アンドロイドスタジオにも同様の問題があります。 –