Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 可在MVVMCross中单击的文本视图_Android_Xamarin_Mvvmcross - Fatal编程技术网

Android 可在MVVMCross中单击的文本视图

Android 可在MVVMCross中单击的文本视图,android,xamarin,mvvmcross,Android,Xamarin,Mvvmcross,我在基本视图.axml中有浮动按钮 <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingBottom="22dp" android:paddingRight="22dp" android:layout_alignParentBottom="true" android:layout_alignPa

我在
基本视图.axml中有浮动按钮

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingBottom="22dp"
    android:paddingRight="22dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true">
     <ImageButton
        android:id="@+id/addButton"
        android:layout_width="56dp"
        android:layout_height="56dp"
        android:src="@drawable/ic_add_white_24dp" />
   </FrameLayout>

基本视图.cs中,我有一个click事件,它从视图底部触发一个片段,带有选项(添加一个新的人和新的计算)

var addButton=view.findviewbyd(Resource.Id.addButton);
添加按钮。单击+=OnAddButton单击;
无效OnAddButtonClick(对象发送方,System.EventArgs e)
{
var dialog=新的CardDialogView();
显示(((MainView)活动).SupportFragmentManager,“CardDialogView”);
}
cardialogview.axml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFFFFF">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableLeft="@drawable/dash_add_computer"
        android:textColor="@color/primary_text"
        android:textSize="16sp"
        android:text="New Calculation"
        local:MvxBind="Click NewCalculationCommand"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableLeft="@drawable/dash_add_head"
        android:drawablePadding="28dp"
        android:textColor="@color/primary_text"
        android:textSize="16sp"
        android:text="New Person" />
</LinearLayout>

我的问题是如何使TextView可单击,并知道在mvvmcross中单击了哪个TextView

cardialogview.cs

  public class CardDialogView : MvxDialogFragment<CardDialogViewModel>
  {

       public override Dialog OnCreateDialog(Bundle savedState)
        {
            .....
            return dialog;
        }
  }
公共类CardDialogView:MvxDialogFragment { 公共覆盖对话框OnCreateDialog(Bundle savedState) { ..... 返回对话框; } }
CardDialogViewModel.cs

public class CardDialogViewModel : MvxViewModel
{

    public ICommand NewCalculationCommand
    {
        get
        {
         // it does not come here!
         return new MvxCommand(() => ShowViewModel<NewItemViewModel>(new { date = DateTime.Now }));
        }
    }
}
公共类CardDialogViewModel:MvxViewModel
{
公共ICommand NewCalculationCommand
{
得到
{
//它不来这里!
返回新的MvxCommand(()=>ShowViewModel(new{date=DateTime.Now}));
}
}
}

您可以绑定文本视图单击,就像按钮单击一样:

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableLeft="@drawable/dash_add_computer"
        android:textColor="@color/primary_text"
        android:textSize="16sp"
        local:MvxBind="Click NewCalculationCommand"
        android:text="New Calculation" />


对于第二个textview,将其绑定到另一个命令。这样,当调用相应的命令时,您将知道是哪个textview触发了它。

您可以绑定textview单击,就像按钮单击一样:

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableLeft="@drawable/dash_add_computer"
        android:textColor="@color/primary_text"
        android:textSize="16sp"
        local:MvxBind="Click NewCalculationCommand"
        android:text="New Calculation" />


对于第二个textview,将其绑定到另一个命令。这样,当调用相应的命令时,您将知道是哪个textview触发了它。

谢谢Giorgi,我如何知道单击了哪个textview?太好了!然后我需要为片段设置
CardDialogViewModel
,对吗?@HotSping:是的,您可以将片段绑定到viewmodel@hotspring:输出窗口中是否有任何指示问题原因的内容?我在命令中添加了断点,但它没有出现。谢谢Giorgi,我怎么知道点击了哪个文本视图?太好了!然后我需要为片段设置
CardDialogViewModel
,对吗?@HotSping:是的,您可以将片段绑定到viewmodel@hotspring:输出窗口中是否有指示问题原因的内容?我在命令中输入了断点,但没有出现。