저는 Xamarin을 처음 사용하고 있으며 첫 번째 앱을 만들려고합니다. 응용 프로그램은 최소한 다음과 같은 기능을 가진 4 개의 독립적 인 모듈을 갖습니다 : - 레코드 목록. - 새 레코드를 만들기위한보기. - 전역 모듈 (프로필 사용자)에 대한 참조입니다.MVVMCross를 사용하여 프래그먼트를 ViewModels에 통합하는 방법
요점은, AppCompatActivity, Fragment, Toolbar, ActionBar 등을 구현하는 웹에서 자습서를 발견했기 때문입니다. 출처는 여기에서 찾을 수 있습니다 : https://github.com/JoeRock11/Xamarin_DesignLibrary
이 예제에는 내부에 조각이있는 세 개의 탭이 있으며, 현재 탭을 변경하기 위해 화면을 슬라이드 (facebook과 유사) 할 수 있습니다. 내 애플 리케이션에 대한 동일한 작업을 수행하려는 각 탭은 하나의 모듈입니다.
샘플이 완벽하게 작동하지만 MVVMCross 프레임 워크를 구현하고 싶지만 어떻게 구현할 것인지 잘 모릅니다.
public class AllPostsViewModel : MvxViewModel
{
public List<Post> AllPosts { get; set; }
public ICommand NavBack
{
get {return new MvxCommand(() => Close(this));}
}
public void Init()
{
Task<List<Bill>> result = Mvx.Resolve<Repository>().GetAllPosts();
result.Wait();
AllPosts = result.Result;
}
}
보기 (안드로이드 프로젝트)
[Activity(Label = "Posts", NoHistory = true)]
public class AllPostsView : MvxActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.View_AllBills);
}
}
을 :
public class Fragment1 : Fragment
{
public override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
}
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
RecyclerView recyclerView = inflater.Inflate(Resource.Layout.Fragment1, container, false) as RecyclerView;
SetUpRecyclerView(recyclerView);
return recyclerView;
}
private void SetUpRecyclerView(RecyclerView recyclerView)
{
var values = GetDataSource();
recyclerView.SetLayoutManager(new LinearLayoutManager(recyclerView.Context));
recyclerView.SetAdapter(new SimpleStringRecyclerViewAdapter(recyclerView.Context, values, Activity.Resources));
recyclerView.SetItemClickListener((rv, position, view) =>
{
//Tasks
});
}
}
이 활동 (핵심 사업) 작업 MVVMCross를 구현하지만, 뷰 모델입니다 :
이
는 조각 샘플입니다이제 Core 및 Android 프로젝트에서 Activities 대신 Fragments를 사용하도록 변경하려고합니다.
또한이 특수 사례의 경우 활동 대신 사용 조각에 대한 의견을 듣고 자합니다. 자습서를 읽었 기 때문에 조각을 사용하기 때문에.
, 내 뷰 모델을 설정하고 나는 오류 " 'PostViewModel은'주어진 상황에서 유효하지 않은 유형이다"얻는다. 이것은 내 ViewModel 정의입니다. public class PostViewModel : MvxViewModel – isosa
여러 탭 안에 조각으로 recyclerview를 표시해야합니다. 이 경우에는 작동하지 않습니다. – GvSharma