使用If作为规则调用类



我是安卓系统的新手,不知道如何从这一点开始。

我想对一个按钮应用一个规则,这个想法很简单。我得到了这个按钮,当我按下它时,它有两个选项:它应该检查代码,如果匹配,则启动一个"活动",如果不匹配,则照常进行。

如果它与数据库"相同",它就会进入这个新的活动

否则,它会继续滚动相同的类。

我也不知道如何执行这个类,如何调用它。

我接触到了这个代码,但我不知道如何从这里开始。

这是我的代码:

public void Send(View view) throws IOException {
    BdLocal bd = new BdLocal(this);
    if (bd.getCodeCompany() == "0A0A0A0A0A0A0A") {     
        Intent intent = new Intent(NewCompanyCodeActivity.this, NewCompCodeSetup.class);
        startActivityForResult(intent, 0);
    } else {
        //i dont know how to put the cass SendHug here
        //Object.getClass(SendHug);?  
    }
    class SendHug extends AsyncTask<String, Void, String>{
        ...
    }

分离此活动和类工作精细

谢谢!

问题就在这里:bd.getCodeCompany() == "0A0A0A0A0A0A0A"

当用==比较器比较两个String对象时,不是比较它们的,而是比较它们的Object相等性。Java检查它们是否在相同的内存位置上是同一个对象。

当比较String文字(如"0A0A0A0A0A0A0A" (时,这永远不会是真的

为了比较这些对象的,您应该在String上调用.equals()方法。

.equals()的使用看起来像"0A0A0A0A0A0A0A".equals(bd.getCodeCompany())

如果bd.getCompany()可能返回null值,则通过对String文字调用该方法可以避免潜在的NullPointerException

您可以调用sendHug,如:new SendHug().execute();

您需要像这样更改if条件。并在else中调用您的AsyncTask。

public void Send(View view) throws IOException {
        BdLocal bd = new BdLocal(this);
String text = bd.getCodeCompany();
        if ( text.equals( "0A0A0A0A0A0A0A")) {     
            Intent intent = new Intent(NewCompanyCodeActivity.this, NewCompCodeSetup.class);
            startActivityForResult(intent, 0);
        } else {
new SendHug().execute();
        }

最新更新