Android 应用程序打开后立即关闭

亚纳马拉柴坦尼亚

在设备上安装应用程序后,应用程序打开后立即关闭。

我正在通过 Udacity 学习 android。在第 3 课中,他们给了我最小布局的 android 代码。[Udacity 代码][1]。因此他们告诉开发完整​​的代码,以Adapter视图格式显示Magnitude的位置和日期。

Studio 没有显示任何错误,但是如果我将光标放在getMagnitude()方法上它显示方法调用getMagnitude可能会产生“ java.lang.NullPointerException ”,对于 setAdapter 它也显示同样的事情,我的完整代码是

EarthquakeActivity.java




/*``
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.example.android.quakereport;
import java.lang.String;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.ArrayList;

public class EarthquakeActivity extends AppCompatActivity {

    public static final String LOG_TAG = EarthquakeActivity.class.getName();

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

        // Create a fake list of earthquake locations.
        ArrayList<Earthquake> earthquakes = new ArrayList<>();
        earthquakes.add(new Earthquake("7.2","San Francisco", "Feb 2,2017 "));
        earthquakes.add(new Earthquake("5.2","London", "Oct 2,2017 "));
        earthquakes.add(new Earthquake("9.2","Tokyo", "Feb 2,2017 "));
        earthquakes.add(new Earthquake("8.2","Mexico City", "Mar 2,2017 "));
        earthquakes.add(new Earthquake("7.2","Mascow", "Feb 16,2017 "));
        earthquakes.add(new Earthquake("6.2","Rio de Jeneiro", "Feb 28,2017 "));
        earthquakes.add(new Earthquake("1.2","India", "Jan 2,2017 "));


        // Find a reference to the {@link ListView} in the layout
        ListView earthquakeListView = (ListView) findViewById(R.id.list);

        // Create a new {@link ArrayAdapter} of earthquakes
  EarthquakeAdapter adapter = new EarthquakeAdapter(this ,earthquakes);

        // Set the adapter on the {@link ListView}
        // so the list can be populated in the user interface
        earthquakeListView.setAdapter(adapter);
    }
}

地震.java

package com.example.android.quakereport;

/**
 * Created by raghavendra on 3/7/2017.
 */

public class Earthquake {


    private  String mMagnitude;

    private String mLocation;

    private String mDate;


    public Earthquake(String Magnitude, String Location, String Date)
    {
        mMagnitude = Magnitude;

        mLocation = Location;

        mDate = Date;

    }

    public String getMagnitude()
    {

        return mMagnitude;
    }

    public String getLocation()
    {

        return mLocation;
    }

    public String getDate()
    {

        return mDate;
    }




}

地震适配器.java

package com.example.android.quakereport;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.view.menu.ListMenuItemView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.List;

/**
 * Created by raghavendra on 3/7/2017.
 */

public class EarthquakeAdapter extends ArrayAdapter<Earthquake> {

    public EarthquakeAdapter(Context context, List<Earthquake> earthquakes) {
        super(context, 0, earthquakes);
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // Check if the existing view is being reused, otherwise inflate the view
        View listItemView = convertView;
        if (listItemView == null) {
            listItemView = LayoutInflater.from(getContext()).inflate(
                    R.layout.earthquake_activity, parent, false);
        }

        Earthquake currentEarthquake = getItem(position);



        TextView magnitudeView  = (TextView) listItemView.findViewById(R.id.magnitude);

        magnitudeView.setText(currentEarthquake.getMagnitude());

        TextView locationView  = (TextView) listItemView.findViewById(R.id.location);

        locationView.setText(currentEarthquake.getLocation());

        TextView dateView  = (TextView) listItemView.findViewById(R.id.date);

       dateView.setText(currentEarthquake.getDate());






return listItemView;



    }

}








  [1]: https://github.com/udacity/ud843-QuakeReport
米塞米斯

我认为问题出在你的 Earthquake.java

尝试;

public class Earthquake {


    private  String mMagnitude;

    private String mLocation;

    private String mDate;


    public Earthquake(String Magnitude, String Location, String Date)
    {
        this.mMagnitude = Magnitude;

        this.mLocation = Location;

        this.mDate = Date;

    }

    public String getMagnitude()
    {

        return mMagnitude;
    }

    public String getLocation()
    {

        return mLocation;
    }

    public String getDate()
    {

        return mDate;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

应用程序在 Android 中打开后立即崩溃

来自分类Dev

关闭后自动重新打开Android应用程序

来自分类Dev

关闭后停止处理程序,然后在Android中打开应用程序

来自分类Dev

注册打开和关闭 android 应用程序

来自分类Dev

Xamarin Android应用启动后立即关闭

来自分类Dev

关闭Android应用程序后,HashMap中的数据

来自分类Dev

捕获异常后如何关闭android应用程序

来自分类Dev

Android:关闭应用程序后,NSD服务仍然可用

来自分类Dev

Android:关闭我的应用程序后启动我的服务

来自分类Dev

Android服务-应用程序关闭后无法停止

来自分类Dev

构建后,Cordova Android应用程序强制关闭

来自分类Dev

Android:关闭应用程序后,NSD服务仍然可用

来自分类Dev

按下设置后,Android应用程序关闭

来自分类Dev

Android:关闭我的应用程序后启动我的服务

来自分类Dev

关闭后,Android提醒应用程序如何工作

来自分类Dev

Android:关闭应用程序后服务崩溃

来自分类Dev

在 android 应用程序关闭后使用侦听器

来自分类Dev

安装后无法打开Android TV应用程序

来自分类Dev

单击网站链接后如何打开Android应用程序?

来自分类Dev

安装后无法打开Android TV应用程序

来自分类Dev

Android Fragment-关闭应用程序后应用程序崩溃

来自分类Dev

单击应用程序图标打开后,Android应用程序将重新启动

来自分类Dev

单击应用程序图标打开后,Android应用程序将重新启动

来自分类Dev

Android虚拟设备在打开后立即关闭

来自分类Dev

安装后立即自动启动iOS和Android应用程序

来自分类Dev

用户安装应用程序后立即检索Android_Id

来自分类Dev

在 Java Android 应用程序中更改 PHP 代码后立即跳到“捕获”

来自分类Dev

打开另一个应用程序时,Android应用程序关闭[不崩溃]

来自分类Dev

重新打开和关闭应用程序时,Android服务停止

Related 相关文章

  1. 1

    应用程序在 Android 中打开后立即崩溃

  2. 2

    关闭后自动重新打开Android应用程序

  3. 3

    关闭后停止处理程序,然后在Android中打开应用程序

  4. 4

    注册打开和关闭 android 应用程序

  5. 5

    Xamarin Android应用启动后立即关闭

  6. 6

    关闭Android应用程序后,HashMap中的数据

  7. 7

    捕获异常后如何关闭android应用程序

  8. 8

    Android:关闭应用程序后,NSD服务仍然可用

  9. 9

    Android:关闭我的应用程序后启动我的服务

  10. 10

    Android服务-应用程序关闭后无法停止

  11. 11

    构建后,Cordova Android应用程序强制关闭

  12. 12

    Android:关闭应用程序后,NSD服务仍然可用

  13. 13

    按下设置后,Android应用程序关闭

  14. 14

    Android:关闭我的应用程序后启动我的服务

  15. 15

    关闭后,Android提醒应用程序如何工作

  16. 16

    Android:关闭应用程序后服务崩溃

  17. 17

    在 android 应用程序关闭后使用侦听器

  18. 18

    安装后无法打开Android TV应用程序

  19. 19

    单击网站链接后如何打开Android应用程序?

  20. 20

    安装后无法打开Android TV应用程序

  21. 21

    Android Fragment-关闭应用程序后应用程序崩溃

  22. 22

    单击应用程序图标打开后,Android应用程序将重新启动

  23. 23

    单击应用程序图标打开后,Android应用程序将重新启动

  24. 24

    Android虚拟设备在打开后立即关闭

  25. 25

    安装后立即自动启动iOS和Android应用程序

  26. 26

    用户安装应用程序后立即检索Android_Id

  27. 27

    在 Java Android 应用程序中更改 PHP 代码后立即跳到“捕获”

  28. 28

    打开另一个应用程序时,Android应用程序关闭[不崩溃]

  29. 29

    重新打开和关闭应用程序时,Android服务停止

热门标签

归档