Android 在片段中单击按钮后,Toast不出现?
我有一个按钮,当edittext文本字段输入正确时,它会转到另一页。但是,如果用户没有正确输入文本字段,我想做的是让祝酒词出现。错误检查确实有效,因为它会阻止用户进入下一页,即如果cardchecker字段中没有16个数字或cvv checker字段中没有3个数字 这是针对windows服务器的。我尝试在Toast.makeText()之后更改为Android 在片段中单击按钮后,Toast不出现?,android,Android,我有一个按钮,当edittext文本字段输入正确时,它会转到另一页。但是,如果用户没有正确输入文本字段,我想做的是让祝酒词出现。错误检查确实有效,因为它会阻止用户进入下一页,即如果cardchecker字段中没有16个数字或cvv checker字段中没有3个数字 这是针对windows服务器的。我尝试在Toast.makeText()之后更改为getActivity().getApplicationcontext,此&getActivity public class DonateFragmen
getActivity().getApplicationcontext
,此
&getActivity
public class DonateFragment extends Fragment {
EditText cardno;
Button buy;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_donate,container,false);
final EditText cardcheck1 =(EditText) rootView.findViewById(R.id.cardno);
final EditText sortcheck1 =(EditText) rootView.findViewById(R.id.sortcode);
final EditText cvvcheck1 =(EditText) rootView.findViewById(R.id.cvv);
final EditText amountcheck1 =(EditText) rootView.findViewById(R.id.amount);
Button buy = (Button) rootView.findViewById(R.id.buy);
buy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String cardcehcker = cardcheck1.getText().toString();
String sortchecker = sortcheck1.getText().toString();
String cvvchecker = cvvcheck1.getText().toString();
String amountchecker = amountcheck1.getText().toString();
if (cardcehcker.trim().length() == 16){
if (cardcehcker.trim().length() < 16){
Toast.makeText(getActivity(), "Error", Toast.LENGTH_SHORT).show();
}
if (sortchecker.trim().length() == 6)
if (cvvchecker.trim().length() == 3)
if(amountchecker.trim().length()>0){
{
Intent in = new Intent(getActivity(), Donation_thankyou_activity.class);
startActivity(in);
}}}}
});
return rootView;
}
}
公共类DonateFragment扩展了片段{
编辑文本卡号;
按钮购买;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
最终视图根视图=充气机。充气(右布局。碎片,容器,假);
final EditText cardcheck1=(EditText)rootView.findViewById(R.id.cardno);
final EditText sortcheck1=(EditText)rootView.findViewById(R.id.sortcode);
final-EditText-cvvcheck1=(EditText)rootView.findViewById(R.id.cvv);
final EditText amountcheck1=(EditText)rootView.findViewById(R.id.amount);
Button buy=(Button)rootView.findViewById(R.id.buy);
buy.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
字符串cardcehcker=cardcheck1.getText().toString();
字符串sortchecker=sortcheck1.getText().toString();
字符串cvvchecker=cvvcheck1.getText().toString();
字符串amountchecker=amountcheck1.getText().toString();
如果(cardcehcker.trim().length()=16){
如果(卡德切克饰件().length()<16){
Toast.makeText(getActivity(),“Error”,Toast.LENGTH_SHORT.show();
}
如果(sortchecker.trim().length()==6)
如果(cvvchecker.trim().length()==3)
如果(amountchecker.trim().length()>0){
{
Intent in=新的Intent(getActivity(),捐赠\感谢\活动.class);
星触觉(in);
}}}}
});
返回rootView;
}
}
如果用户没有正确输入土司,我希望会出现土司,但不会出现土司。试试这个
public class DonateFragment extends Fragment {
EditText cardno;
Button buy;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_donate,container,false);
final EditText cardcheck1 =(EditText) rootView.findViewById(R.id.cardno);
final EditText sortcheck1 =(EditText) rootView.findViewById(R.id.sortcode);
final EditText cvvcheck1 =(EditText) rootView.findViewById(R.id.cvv);
final EditText amountcheck1 =(EditText) rootView.findViewById(R.id.amount);
Button buy = (Button) rootView.findViewById(R.id.buy);
buy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String cardcehcker = cardcheck1.getText().toString();
String sortchecker = sortcheck1.getText().toString();
String cvvchecker = cvvcheck1.getText().toString();
String amountchecker = amountcheck1.getText().toString();
if (cardcehcker.trim().length() == 16 && sortchecker.trim().length() == 6 && cvvchecker.trim().length() == 3 && amountchecker.trim().length()>0){
Intent in = new Intent(getActivity(), Donation_thankyou_activity.class);
startActivity(in);
}
else{
Toast.makeText(getActivity(), "Error", Toast.LENGTH_SHORT).show();
}
}
});
return rootView;
}
}
试试这个
public class DonateFragment extends Fragment {
EditText cardno;
Button buy;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_donate,container,false);
final EditText cardcheck1 =(EditText) rootView.findViewById(R.id.cardno);
final EditText sortcheck1 =(EditText) rootView.findViewById(R.id.sortcode);
final EditText cvvcheck1 =(EditText) rootView.findViewById(R.id.cvv);
final EditText amountcheck1 =(EditText) rootView.findViewById(R.id.amount);
Button buy = (Button) rootView.findViewById(R.id.buy);
buy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String cardcehcker = cardcheck1.getText().toString();
String sortchecker = sortcheck1.getText().toString();
String cvvchecker = cvvcheck1.getText().toString();
String amountchecker = amountcheck1.getText().toString();
if (cardcehcker.trim().length() == 16 && sortchecker.trim().length() == 6 && cvvchecker.trim().length() == 3 && amountchecker.trim().length()>0){
Intent in = new Intent(getActivity(), Donation_thankyou_activity.class);
startActivity(in);
}
else{
Toast.makeText(getActivity(), "Error", Toast.LENGTH_SHORT).show();
}
}
});
return rootView;
}
}
检查那些嵌套的
if
s中的逻辑。一个数字怎么可能既等于16又小于16?用你的if语句。它们相互矛盾。首先你要检查长度是否等于16,如果是,那么你要再次检查长度是否小于16。请不要为其他人做更多的工作y破坏您的帖子。通过在Stack Exchange网络上发布,您已在下授予Stack Exchange分发该内容的不可撤销权利(即,无论您未来的选择如何)。根据堆栈交换策略,帖子的非故意破坏版本是已分发的版本。因此,任何故意破坏行为都将被还原。如果您想了解有关删除帖子的更多信息,请参阅:检查嵌套的If
s中的逻辑。一个数字如何既等于16又小于16?请发出If语句。它们在cont中与他们自己进行比较。首先检查长度是否等于16,如果是,然后再次检查长度是否小于16。请不要通过破坏您的帖子来为其他人做更多的工作。通过在Stack Exchange网络上发布,您已授予Stack Exchange在下的不可撤销的权利,以分发that内容(即,无论您未来的选择如何)。根据堆栈交换策略,发布的是未被破坏的帖子版本。因此,任何破坏行为都将被还原。如果您想了解有关删除帖子的更多信息,请参阅: