如何清除意图文本?

问题描述 投票:-1回答:2

我在活动A中有一个reset button,它可以正常工作,因为当单击活动B中的save button时,它可以清除所有文本并显示null。但这仅在传递给B之前textView中没有任何内容时才有效。

在以下情况下不起作用。

在活动A中,键入“ Project 123”,单击下一步button转到B。然后我再次回到活动A,然后单击重置按钮以清除“ Project 123”。完成后,转到活动B并单击提交按钮。它显示“ Project 123”而不是“ null” ...

活动A

private TextView c;
String result; // 123
String name; // project

reset=(Button)claims.findViewById(R.id.button14); // reset button
Button button = (Button) claims.findViewById(R.id.button8); //next button

reset.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        c.setText("");
        d.setText("");
        e.setText("");
        f.setText("");
        g.setText("");
        h.setText("");
    }
});

button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View arg0) {
        Intent intent = new Intent(getActivity().getApplicationContext(), B.class);
        if(c!=null){
            intent.putExtra("name", name);
            intent.putExtra("result", result);
        }
    });
    return A;
}

活动B

Name=getIntent().getExtras().getString("name");
Result=getIntent().getExtras().getString("result");
save=(Button)findViewById(R.id.button8);
save.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v){
        if((Name!=null)&&(Result!=null)){
            Toast.makeText(getApplicationContext(), Name+Result, Toast.LENGTH_LONG).show();
        }else{
            Toast.makeText(getApplicationContext(),"null", Toast.LENGTH_LONG).show();
        }
    }
});
java android button reset
2个回答
0
投票

这是因为您只清除setText但不清除字符串。

 reset.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
               c.setText("");
                name="";
                result="";


            }
        });

您必须在重置方法中添加name=""result=""。它应该工作。

请参考clear a value from a string android


0
投票

实际上,名称不是null,而是带有空字符串“”尝试在B活动中将!!null替换为!TextUtils.isEmpty()。

© www.soinside.com 2019 - 2024. All rights reserved.