package com.example.finalapp;
import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.material.textfield.TextInputEditText;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.hbb20.CountryCodePicker;
/**
* A simple {@link Fragment} subclass.
* Use the factory method to
* create an instance of this fragment.
*/
public class buyer_fragment extends Fragment {
public EditText mFirstname, mLastname, mUsername, mEmail, mPhone;
public TextInputEditText mPassword;
public CountryCodePicker ccp;
public FirebaseAuth mAuth;
public Button mSignUp;
public View view;
public buyer_fragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
view = inflater.inflate(R.layout.fragment_buyer_fragment, container, false);
initViews();
return view;
}
public void login_back(View view) {
Intent intent = new Intent(getActivity(), login.class);
startActivity(intent);
}
public void initViews() {
try {
mFirstname = view.findViewById(R.id.first_name);
mLastname = view.findViewById(R.id.last_name);
mUsername = view.findViewById(R.id.user_name);
mEmail = view.findViewById(R.id.email);
mPhone = view.findViewById(R.id.phone_number);
mPassword = view.findViewById(R.id.signup_password);
ccp = view.findViewById(R.id.ccp);
mSignUp = (Button) view.findViewById(R.id.signup_btn1);
mSignUp.setOnClickListener(this::createUser);
} catch (Exception e) {
Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
}
public void createUser(View view) {
try {
String email = mEmail.getText().toString().trim();
String password = mPassword.getText().toString().trim();
mAuth = FirebaseAuth.getInstance();
mAuth.createUserWithEmailAndPassword(email, password).addOnSuccessListener(new OnSuccessListener<AuthResult>() {
@Override
public void onSuccess(AuthResult authResult) {
Toast.makeText(getContext(), "User Created", Toast.LENGTH_LONG).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
});
} catch (Exception e) {
Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}
Attempt to invoke Virtual Method 'void.android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
为什么不使用ViewBinding它将消除findviewbyid()
的压力
有关更多信息,您可以查看绑定设置
您还可以查看如何在片段中使用ViewBinding
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_buyer_fragment, container, false);
mFirstname = view.findViewById(R.id.first_name);
mLastname = view.findViewById(R.id.last_name);
mUsername = view.findViewById(R.id.user_name);
mEmail = view.findViewById(R.id.email);
mPhone = view.findViewById(R.id.phone_number);
mPassword = view.findViewById(R.id.signup_password);
ccp = view.findViewById(R.id.ccp);
mSignUp = (Button) view.findViewById(R.id.signup_btn1);
mSignUp.setOnClickListener(this::createUser);
}
我正在实现一个片段,该片段调用两个。
问题内容: 我整夜都在绞尽脑汁,但似乎无法完成这一小事情。我想将SwitchPreference添加到我的应用程序的PreferenceActivity中。下面是一张图片。 在我说太多之前,我的问题恰好是这样的:我似乎无法仅在首选项的Switch部分上放置一个侦听器。我可以在首选项上设置onPreferenceTreeClick和onPreferenceClick,如果按文本部分,效果很好。但是,
通常在片段中,我在onAttach()中附加一个监听器,并在onDetach()中取消监听器。 是否需要在onDetach()中将侦听器设置为null? 虽然我这样做是因为它使代码看起来更加对称,但似乎没有必要这样做,因为片段已经被销毁了,因为根据片段的生命周期,之前已经调用了onDestroyView()和onDestroy()。 提前谢谢。
我有一个活动A。在这个活动的stepperLayout中,我使用了片段B。我从片段B调用对话片段C。在对话片段C上,我调用listenerInterface方法,但侦听器接口为空。所以有一个空指针异常。活动A没有实现接口。只有片段B实现了它。
我正在尝试学习python来处理一个测试项目。是否有一种方法可以在python测试框架中实现类似功能的TestNG侦听器。 侦听器有诸如OnTestFailure()、OnTestSuccess、OnStart()等方法,当您想要做某些事情时,这些方法非常有用。 比方说,一个测试用例失败了,您想执行一些操作,比如截图。然后你可以只在一个地方写,而不是在每个测试方法中都写。
myadapter.java