Android 引起:java.lang.NullPointerException

2024-01-18

我现在编辑它...我正在检查布局和初始化,但仍然是相同的错误..这可能是 eclipse 错误吗?

public class ActivityOwner extends Activity implements OnClickListener {

        EditText ownerUser, ownerPass;
        private Button btnLogin;
        private ProgressDialog pDialog;
        JSONParser jsonParser = new JSONParser();

        private static final String OWNER_LOGIN_URL = "http://192.168.2.5/idot/owner_login.php";

        // ---JSON element ids from response of php script
        private static final String TAG_SUCCESS = "success";
        private static final String TAG_MESSAGE = "message";

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_owner);

            ownerUser = (EditText) findViewById(R.id.owner_login_username);
            ownerPass = (EditText) findViewById(R.id.owner_login_password);

            TextView tvLinkToRegister = (TextView) findViewById(R.id.link_to_register);
            tvLinkToRegister.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View view) {
                    // TODO Auto-generated method stub
                    Intent registrationForm = new Intent(ActivityOwner.this,
                            ActivityOwnerRegister.class);
                    startActivity(registrationForm);
                }
            });

            btnLogin = (Button) findViewById(R.id.btnOwnerLogin);
            btnLogin.setOnClickListener(this);
        }

        @Override
        public void onClick(View v) {
            new AttemptLogin().execute();
        }

        class AttemptLogin extends AsyncTask<String, String, String> {

            @Override
            protected void onPreExecute() {
                super.onPreExecute();
                pDialog = new ProgressDialog(ActivityOwner.this);
                pDialog.setMessage("Attempting login...");
                pDialog.setIndeterminate(false);
                pDialog.setCancelable(true);
                pDialog.show();
            }

            @Override
            protected String doInBackground(String... args) {

                // Check for success tag
                int success;
                String username = ownerUser.getText().toString();
                String password = ownerPass.getText().toString();

                try {
                    // Building Parameters
                    List<NameValuePair> params = new ArrayList<NameValuePair>();
                    params.add(new BasicNameValuePair("owner_username", username));
                    params.add(new BasicNameValuePair("owner_password", password));

                    Log.d("request!", "starting");
                    // getting product details by making HTTP request
                    JSONObject json = jsonParser.makeHttpRequest(OWNER_LOGIN_URL,
                            "POST", params);

                    // check your log for json response
                    Log.d("Login attempt", json.toString());

                    // json success tag
                    success = json.getInt(TAG_SUCCESS);
                    if (success == 1) {
                        Log.d("Login Successful!", json.toString());
                        // save user data
                        SharedPreferences sp = PreferenceManager
                                .getDefaultSharedPreferences(ActivityOwner.this);
                        Editor edit = sp.edit();
                        edit.putString("owner_username", username);
                        edit.commit();

                        Intent i = new Intent(ActivityOwner.this,
                                ActivityOwnerSuccessLogin.class);
                        pDialog.dismiss();
                        finish();
                        startActivity(i);

                        return json.getString(TAG_MESSAGE);
                    } else {
                        Log.d("Login Failure!", json.getString(TAG_MESSAGE));
                        return json.getString(TAG_MESSAGE);
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onPostExecute(String result) {
                // dismiss the dialog once product deleted
                pDialog.dismiss();
                if (result != null) {
                    Toast.makeText(ActivityOwner.this, result, Toast.LENGTH_SHORT)
                            .show();
                }
            }

        }
    }

------LOGCAT-----

11-14 21:30:52.517: E/AndroidRuntime(18929): Caused by: java.lang.NullPointerException
11-14 21:30:52.517: E/AndroidRuntime(18929):    at ph.idot.owner.ActivityOwner$AttemptLogin.doInBackground(ActivityOwner.java:88)

A.B.C 形式的行上的空指针异常意味着点左侧的某些内容为空。在这个例子中:

  • A 为空;
  • 或 A.B 为空。

不可能有其他原因。因此,由于 textView.getText() 永远不会返回 null,唯一的可能性是user一片空白。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 引起:java.lang.NullPointerException 的相关文章

随机推荐

  • 无法在 Red hat linux 上安装 rgdal 和 rgeos R 库

    我编译时出错rgdal adn rgoes我们的 redhat linux 机器上的包 我尝试做一些研究 但找不到可能的解决方案 您能帮我解决这个问题吗 因为这对我来说非常重要 ERROR WHILE COMPILING RGDAL in
  • 仅变量应通过函数引用进行赋值

    我使用旧版本的 Codeigniter 框架 使用新版本的 php 我收到此错误 Only variables should be assigned by reference 我想知道这是否是安全的错误修复 改变 this gt base
  • ios 应用内订阅 - Original_transaction_id 何时更改?

    当存在自动续订订阅时 请考虑以下模型情况 用户购买 1 个月的订阅 假设在一月份 取消续订 然后等到三月 gt 1 个月 并再次购买相同的订阅 AppStore 是否返回 在收据验证时 新的original transaction id对于
  • iPhone 中的 Sqlite3 数据库被锁定 - 如何避免?

    我有一个在 Sqlite3 DB 上执行搜索的查询 它除了使用阅读器进行阅读之外什么也不做 对于每个找到的匹配项 它都会调用 UI 回调来更新结果视图 当此搜索运行时 我点击了 UI 中的一个按钮 该按钮将在新线程中执行一些其他操作 最后它
  • 溢出 y 隐藏 溢出 x 可见

    我有一个 div 蓝色框 它绝对定位在父元素 红色框 内的页面上 并且我需要将 Overflow y 设置为隐藏 以便强制截断 Y 轴上的溢出内容 但我希望任何溢出 x 的内容都可见 HTML div div div style width
  • 使用 hibernate 标准选择值对象

    我试图找出是否可以使用 Hibernate Criteria API 执行以下 HQL String hql select new InitialCount substring name 1 1 count id from Person g
  • 使用自定义身份验证提供程序/服务的 ASP.Net Identity

    我目前正在开发一个 ASP Net MVC Web 应用程序 需要用户名和密码身份验证 我开始考虑使用 ASP Net Identity 来实现此目的 但是我有一个非常重要的要求 要求是 Web 应用程序本身不能直接访问任何数据库 所有 D
  • Google 地图:如何移动缩放控件?

    如何通过 API 将 Google 地图缩放控件移动到地图的另一侧 var myOptions zoom 6 zoomControl true zoomControlOptions style google maps ZoomControl
  • Bootstrap 3:100%高度后如何粘贴

    我试图让我的导航栏在设置为 100 高度的介绍后固定到顶部 但我不确定执行此操作的最佳方法是什么 Code CSS html body height 100 min height 100 intro height 100 text alig
  • 如何监控第三方存储库的 GitHub 提交

    初学者在这里 我已为由其他人创建和管理的 GitHub 存储库加注星标 有没有办法监视提交并在每次有人签入主分支时向侦听器发送电子邮件 请注意 我不拥有该存储库 我只是想跟踪我喜欢的存储库上的更改 您可以获得原子饲料 https en wi
  • 如何解决此类问题?

    br br br div style line height 50 span style display block span div
  • Swift:如何查看 Xcode 监视窗口中显示的变量值?

    简单的问题 使用 Swift 时如何查看 Xcode 监视窗口中变量的值 这是一个示例 看看 mdn 如何具有值 2067134273 但无法在监视窗口中查看该值 ObjectiveC NSObject 不会扩展为任何内容 我认为这可能是由
  • Matplotlib 在绘图区域内移动刻度标签

    是否可以在绘图区域内放置刻度标签 我已经尝试过 ax tick params axis y pad 5 left off labelleft on and ax tick params axis y direction in left of
  • 为什么在 ASP.NET MVC 中使用数据库工厂?

    最近我使用了 asp net mvc 我在示例项目中看到正在使用数据库工厂类 您如何向我解释为什么使用它 IDatabaseFactory类 public interface IDatabaseFactory IDisposable EFM
  • Sharepoint 2007:为自定义字段类型创建多行文本自定义属性?

    我正在尝试扩展内置的 Choice 字段类型以包含另一条数据 正确答案 这样 用户将能够直接在 Sharepoint 中创建自己的测试 而不必使用 InfoPath 或其他一些复杂的解决方案 我希望继承现有的 SPFieldChoice 类
  • 如何将手动创建的 WebJobs 发布到 Azure

    我按照本文创建了一个针对 NET Core 的 WebJobs 应用程序 http matt roberts me azure webjobs in net core 2 with di and configuration http mat
  • 部分申请和关闭

    有人问我偏函数应用和闭包之间有什么关系 我会说没有 除非我没有抓住重点 假设我正在用 python 编写 并且有一个非常简单的函数 MySum 定义如下 MySum lambda x y x y 现在 我正在修复一个参数以获得一个具有较小数
  • Xperia XA1 ultra 不显示 Logcat 消息

    您好 当我在 android studio 中使用 Sony Xperia XA1 Ultra 调试我的应用程序时 不会出现调试和详细日志 我的手机运行的是Android 8 0 我已经安装了必要的驱动程序并使用另一部手机 Sony Xpe
  • 是否允许为 std::array 定义专门化?它会导致未定义的行为吗?

    我正在一个有课程的图书馆工作foo foo有一个不平凡的构造函数 当我创建一个std array of foo std array
  • Android 引起:java.lang.NullPointerException

    我现在编辑它 我正在检查布局和初始化 但仍然是相同的错误 这可能是 eclipse 错误吗 public class ActivityOwner extends Activity implements OnClickListener Edi