- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在从存储用户详细信息的 ModelLogin
类中获取数据时遇到问题,现在我想在 Profile Fragment
上显示该详细信息我怎样才能得到来自 modelLogin
的值。
我只需要 FirstName, LastName, EmailId。
ModelLogin.class
public class ModalLogin implements Parcelable {
@SerializedName("result")
@Expose
private String result;
@SerializedName("customer-id")
@Expose
private String customerId;
@SerializedName("error_message")
@Expose
private String errorMessage;
@SerializedName("apiName")
@Expose
private String apiName;
@SerializedName("first_name")
@Expose
private String firstName;
@SerializedName("last_name")
@Expose
private String lastName;
@SerializedName("email")
@Expose
private String email;
@SerializedName("quoteId")
@Expose
private Integer quoteId;
@SerializedName("token")
@Expose
private String token;
protected ModalLogin(Parcel in) {
result = in.readString();
customerId = in.readString();
errorMessage = in.readString();
apiName = in.readString();
firstName = in.readString();
lastName = in.readString();
email = in.readString();
token = in.readString();
quoteId = in.readInt();
}
public static final Creator<ModalLogin> CREATOR = new Creator<ModalLogin>() {
@Override
public ModalLogin createFromParcel(Parcel in) {
return new ModalLogin(in);
}
@Override
public ModalLogin[] newArray(int size) {
return new ModalLogin[size];
}
};
/**
*
* @return
* The result
*/
public String getResult() {
return result;
}
/**
*
* @param result
* The result
*/
public void setResult(String result) {
this.result = result;
}
/**
*
* @return
* The customerId
*/
public String getCustomerId() {
return customerId;
}
/**
*
* @param customerId
* The customer-id
*/
public void setCustomerId(String customerId) {
this.customerId = customerId;
}
/**
*
* @return
* The errorMessage
*/
public String getErrorMessage() {
return errorMessage;
}
/**
*
* @param errorMessage
* The error_message
*/
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
/**
*
* @return
* The apiName
*/
public String getApiName() {
return apiName;
}
/**
*
* @param apiName
* The apiName
*/
public void setApiName(String apiName) {
this.apiName = apiName;
}
/**
*
* @return
* The firstName
*/
public String getFirstName() {
return firstName;
}
/**
*
* @param firstName
* The first_name
*/
public void setFirstName(String firstName) {
this.firstName = firstName;
}
/**
*
* @return
* The lastName
*/
public String getLastName() {
return lastName;
}
/**
*
* @param lastName
* The last_name
*/
public void setLastName(String lastName) {
this.lastName = lastName;
}
/**
*
* @return
* The email
*/
public String getEmail() {
return email;
}
/**
*
* @param email
* The email
*/
public void setEmail(String email) {
this.email = email;
}
/**
*
* @return
* The quoteId
*/
public String getQuoteId() {
String id = ""+quoteId;
return id;
}
/**
*
* @param quoteId
* The quoteId
*/
public void setQuoteId(String quoteId) {
int id = Integer.parseInt(quoteId);
this.quoteId = id;
}
/**
*
* @return
* The token
*/
public String getToken() {
return token;
}
/**
*
* @param token
* The token
*/
public void setToken(String token) {
this.token = token;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(result);
dest.writeString(customerId);
dest.writeString(errorMessage);
dest.writeString(apiName);
dest.writeString(firstName);
dest.writeString(lastName);
dest.writeString(email);
dest.writeString(token);
dest.writeInt(quoteId);
}
}
现在这是我的 fragment ..
ProfileFragment.class
public class MyProfileFragment extends Fragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String mParam1;
private String customerId;
private View mLoginFormView ,view;
private ProgressBar mProgressView;
private Button saveAddress,changepassword;
private EditText fName,lName,emailId,mobileNo, oldPWD,newPWD;
private OnFragmentInteractionListener mListener;
private JSONObject jsonObject;
private ModalLogin modelLogin;
public MyProfileFragment() {
// Required empty public constructor
}
// TODO: Rename and change types and number of parameters
public static MyProfileFragment newInstance(String param1, String param2) {
MyProfileFragment fragment = new MyProfileFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
customerId = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_my_profile, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
initViews(view);
}
private void initViews(View v) {
mLoginFormView = (View)v.findViewById(R.id.mainView);
mProgressView =(ProgressBar) v.findViewById(R.id.login_progress);
view = (View) v.findViewById(R.id.mainV);
saveAddress = (Button)v.findViewById(R.id.button_save);
changepassword = (Button)v.findViewById(R.id.button_changePwd);
fName = (EditText)v.findViewById(R.id.fname);
lName =(EditText)v.findViewById(R.id.lname);
emailId =(EditText)v.findViewById(R.id.email);
mobileNo = (EditText)v.findViewById(R.id.telephone);
changepassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Dialog paswordDialog = new Dialog(getActivity(), R.style.FullHeightDialog);
paswordDialog.setContentView(R.layout.dialog);
paswordDialog.setCancelable(true);
//now that the dialog is set up, it's time to show it
paswordDialog.show();
}
});
}
// TODO: Rename method, update argument and hook method into UI event
public void onButtonPressed(Uri uri) {
if (mListener != null) {
mListener.onFragmentInteraction(uri);
}
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
}
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public void onDetach() {
super.onDetach();
mListener = null;
}
public interface OnFragmentInteractionListener {
// TODO: Update argument type and name
void onFragmentInteraction(Uri uri);
}
private void showProgress(final boolean show) {
mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);
mProgressView.setVisibility(show ? View.VISIBLE : View.GONE);
}
}
最佳答案
您可以在 fragment 初始化时只初始化相同的类实例:
public class MyProfileFragment extends Fragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// Declare instance here
private ModelLogin mModelLogin;
private String mParam1;
private String customerId;
private View mLoginFormView ,view;
private ProgressBar mProgressView;
private Button saveAddress,changepassword;
private EditText fName,lName,emailId,mobileNo, oldPWD,newPWD;
private OnFragmentInteractionListener mListener;
private JSONObject jsonObject;
private ModalLogin modelLogin;
public MyProfileFragment() {
// Required empty public constructor
}
// TODO: Rename and change types and number of parameters
public static MyProfileFragment newInstance(String param1, String param2,ModelLogin mModelLogin) {
MyProfileFragment fragment = new MyProfileFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
// Initialize instance here
fragment.mModelLogin = mModelLogin;
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
customerId = getArguments().getString(ARG_PARAM2);
// Now you can use wherever you want
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_my_profile, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
initViews(view);
}
private void initViews(View v) {
mLoginFormView = (View)v.findViewById(R.id.mainView);
mProgressView =(ProgressBar) v.findViewById(R.id.login_progress);
view = (View) v.findViewById(R.id.mainV);
saveAddress = (Button)v.findViewById(R.id.button_save);
changepassword = (Button)v.findViewById(R.id.button_changePwd);
fName = (EditText)v.findViewById(R.id.fname);
lName =(EditText)v.findViewById(R.id.lname);
emailId =(EditText)v.findViewById(R.id.email);
mobileNo = (EditText)v.findViewById(R.id.telephone);
changepassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Dialog paswordDialog = new Dialog(getActivity(), R.style.FullHeightDialog);
paswordDialog.setContentView(R.layout.dialog);
paswordDialog.setCancelable(true);
//now that the dialog is set up, it's time to show it
paswordDialog.show();
}
});
}
// TODO: Rename method, update argument and hook method into UI event
public void onButtonPressed(Uri uri) {
if (mListener != null) {
mListener.onFragmentInteraction(uri);
}
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
}
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public void onDetach() {
super.onDetach();
mListener = null;
}
public interface OnFragmentInteractionListener {
// TODO: Update argument type and name
void onFragmentInteraction(Uri uri);
}
private void showProgress(final boolean show) {
mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);
mProgressView.setVisibility(show ? View.VISIBLE : View.GONE);
}
}
谢谢你:)
关于android - 从模型类获取数据到 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38195356/
可不可以命名为MVVM模型?因为View通过查看模型数据。 View 是否应该只与 ViewModelData 交互?我确实在某处读到正确的 MVVM 模型应该在 ViewModel 而不是 Mode
我正在阅读有关设计模式的文章,虽然作者们都认为观察者模式很酷,但在设计方面,每个人都在谈论 MVC。 我有点困惑,MVC 图不是循环的,代码流具有闭合拓扑不是很自然吗?为什么没有人谈论这种模式: mo
我正在开发一个 Sticky Notes 项目并在 WPF 中做 UI,显然将 MVVM 作为我的架构设计选择。我正在重新考虑我的模型、 View 和 View 模型应该是什么。 我有一个名为 Not
不要混淆:How can I convert List to Hashtable in C#? 我有一个模型列表,我想将它们组织成一个哈希表,以枚举作为键,模型列表(具有枚举的值)作为值。 publi
我只是花了一些时间阅读这些术语(我不经常使用它们,因为我们没有任何 MVC 应用程序,我通常只说“模型”),但我觉得根据上下文,这些意味着不同的东西: 实体 这很简单,它是数据库中的一行: 2) In
我想知道你们中是否有人知道一些很好的教程来解释大型应用程序的 MVVM。我发现关于 MVVM 的每个教程都只是基础知识解释(如何实现模型、 View 模型和 View ),但我对在应用程序页面之间传递
我想realm.delete() 我的 Realm 中除了一个模型之外的所有模型。有什么办法可以不列出所有这些吗? 也许是一种遍历 Realm 中当前存在的所有类型的方法? 最佳答案 您可以从您的 R
我正在尝试使用 alias 指令模拟一个 Eloquent 模型,如下所示: $transporter = \Mockery::mock('alias:' . Transporter::class)
我正在使用 stargazer 创建我的 plm 汇总表。 library(plm) library(pglm) data("Unions", package = "pglm") anb1 <- pl
我读了几篇与 ASP.NET 分层架构相关的文章和问题,但是读得太多后我有点困惑。 UI 层是在 ASP.NET MVC 中开发的,对于数据访问,我在项目中使用 EF。 我想通过一个例子来描述我的问题
我收到此消息错误: Inceptionv3.mlmodel: unable to read document 我下载了最新版本的 xcode。 9.4 版测试版 (9Q1004a) 最佳答案 您没有
(同样,一个 MVC 验证问题。我知道,我知道......) 我想使用 AutoMapper ( http://automapper.codeplex.com/ ) 来验证我的创建 View 中不在我
需要澄清一件事,现在我正在处理一个流程,其中我有两个 View 模型,一个依赖于另一个 View 模型,为了处理这件事,我尝试在我的基本 Activity 中注入(inject)两个 View 模型,
如果 WPF MVVM 应该没有代码,为什么在使用 ICommand 时,是否需要在 Window.xaml.cs 代码中实例化 DataContext 属性?我已经并排观看并关注了 YouTube
当我第一次听说 ASP.NET MVC 时,我认为这意味着应用程序由三个部分组成:模型、 View 和 Controller 。 然后我读到 NerdDinner并学习了存储库和 View 模型的方法
Platform : ubuntu 16.04 Python version: 3.5.2 mmdnn version : 0.2.5 Source framework with version :
我正在学习本教程:https://www.raywenderlich.com/160728/object-oriented-programming-swift ...并尝试对代码进行一些个人调整,看看
我正试图围绕 AngularJS。我很喜欢它,但一个核心概念似乎在逃避我——模型在哪里? 例如,如果我有一个显示多个交易列表的应用程序。一个列表向服务器查询匹配某些条件的分页事务集,另一个列表使用不同
我在为某个应用程序找出最佳方法时遇到了麻烦。我不太习惯取代旧 TLA(三层架构)的新架构,所以这就是我的来源。 在为我的应用程序(POCO 类,对吧??)设计模型和 DAL 时,我有以下疑问: 我的模
我有两个模型:Person 和 Department。每个人可以在一个部门工作。部门可以由多人管理。我不确定如何在 Django 模型中构建这种关系。 这是我不成功的尝试之一 [models.py]:
我是一名优秀的程序员,十分优秀!