gpt4 book ai didi

java - Toast 内部 fragment 不工作

转载 作者:行者123 更新时间:2023-11-29 09:28:16 25 4
gpt4 key购买 nike

我在该 fragment 中有 fragment 我尝试在用户输入错误的登录名和密码时调用 Toast 但是当按下登录按钮时 Toast 不可见并且正在调用上面的日志 toast 但仍然不可见 toast

This is my Fragment

这是我的 fragment

public class Login_Fragment extends Fragment {

EditText LoginUname,LoginPass;
ImageButton SignIn;
Context context;
public static final String TAG="Login Fragment";


@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view= inflater.inflate(R.layout.login_fragment,container,false);
LoginUname= (EditText) view.findViewById(R.id.Login_Box);
LoginPass= (EditText) view.findViewById(R.id.Pass_Box);
SignIn= (ImageButton) view.findViewById(R.id.LoginButton);

SignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

String Phone=LoginUname.getText().toString();
String Password=LoginPass.getText().toString();

new AsyncTask(){
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
Log.d("LOGIN FRAGMENT","Result: "+result); //GETTING RESULT FAIL HERE

if (result.equals("FAIL")){
Log.d("LOGIN FRAGMENT","Result is FAIL"); //THIS LOG SHOWING IN LOGCAT BUT TOAST IS NOT VISIBLE
Toast.makeText(getActivity(), "Invalid Login And Password", Toast.LENGTH_LONG).show();

}
else if (result.equals("SUCCESS")){
Log.d("LOGIN FRAGMENT","Result is Success");

}

}
}.execute();
Log.d("LOGIN FRAGMENT","----LOGIN AND PASSWORD SENT");

}
});
Registration.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Registration_Fragment registrationFragment=new Registration_Fragment();
FragmentManager fragmentManager=getFragmentManager();
FragmentTransaction transaction=fragmentManager.beginTransaction();
transaction.replace(R.id.FragmentLoginRegistration,registrationFragment);
transaction.commit();
}
});

return view;
}

@Override
public void onAttach(Context context) {
super.onAttach(context);
this.context=context;
}
}

日志

08-23 14:04:38.115 29053-29053/com.boysjoys.com.pro_working1 D/LOGIN FRAGMENT: Result: FAIL
08-23 14:04:38.115 29053-29053/com.boysjoys.com.pro_working1 D/LOGIN FRAGMENT: Result is FAIL

我已经试过了

Toast.makeText(getActivity(), "Invalid Login And Password", Toast.LENGTH_LONG).show();


Toast.makeText(getActivity().getApplicationContext(), "Invalid Login And Password", Toast.LENGTH_LONG).show();


Toast.makeText(Login_Fragment.this.getActivity(), "Invalid Login And Password", Toast.LENGTH_LONG).show();

几乎所有我可以用来显示 toast 的方法,最后我尝试了 runOnUiThread 但它仍然没有显示。

编辑 1: 添加日志以显示我从服务器收到响应 - “FAIL”

编辑 2: 我尝试了我得到的每一个答案,但我的 Toast 仍然没有出现。那么我的 list 、布局是否有可能阻止 Toast 出现?如果是,请告诉我,我将在我的问题中更新我的布局、样式、 list

最佳答案

如果在 onAttach(Activity) 之前运行,getActivity() 将返回 null。相反,您应该在 onPreExecute 和 onPostExecute 方法中直接调用 getActivity() 或在 onAttach 中获取对它的引用:

public void onAttach (Activity attachedActivity) {
activity = attachedActivity;
}

关于java - Toast 内部 fragment 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39095420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com