Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ListView不显示文本自定义适配器_Java_Android_Listview_Android Adapter - Fatal编程技术网

Java ListView不显示文本自定义适配器

Java ListView不显示文本自定义适配器,java,android,listview,android-adapter,Java,Android,Listview,Android Adapter,您好,我是android开发新手,我正在尝试使用自定义适配器在listview中显示一些文本,当我在手机上运行应用程序时,它会崩溃 这是我的适配器类: public class EarthquakeAdapter extends ArrayAdapter<Earthquake> { private TextView magnitude; private TextView location; private TextView date; public

您好,我是android开发新手,我正在尝试使用自定义适配器在listview中显示一些文本,当我在手机上运行应用程序时,它会崩溃

这是我的适配器类:

public class EarthquakeAdapter extends ArrayAdapter<Earthquake> {
    private TextView magnitude;
    private TextView location;
    private TextView date;

    public EarthquakeAdapter(@NonNull Context context, ArrayList<Earthquake> resource) {
        super(context, 0, resource);
    }

    public View getview(int position, View convertView, ViewGroup parent) {
        // Check if the existing view is being reused, otherwise inflate the view

        Earthquake CurrentEarthquake =  (Earthquake)getItem(position);

        View listItemView = convertView;
        if (listItemView == null) {
            listItemView = LayoutInflater.from(getContext()).inflate(R.layout.list_item, parent, false);
        }

        magnitude = (TextView) listItemView.findViewById(R.id.magnitude);
        magnitude.setText((int) CurrentEarthquake.getMagnitude());

        location = listItemView.findViewById(R.id.location);
        location.setText(CurrentEarthquake.getLocation());

        date = listItemView.findViewById(R.id.date);
        date.setText(CurrentEarthquake.getDate());

        return listItemView;
    }
}

我是android开发新手,我正在尝试使用自定义适配器在listview中显示一些文本,当我在手机上运行应用程序时,它会崩溃…

我认为问题在于
magnity.setText((int)currentSevent.getmagnity())
,因为
setText
不能是
Int
必须是
String
,所以您可以编写这个
magnity.setText(((Int)currentsearch.getmagnity())+“”)希望能帮助你。

我知道这其实很愚蠢,但我发现了问题

在我的适配器代码中,使用的是

getview

虽然这是命中注定的

getView

我还了解了该方法在这里的实际工作原理


谢谢大家的帮助

您确定
ArrayList资源
有数据吗?发布日志猫。它会准确地告诉你哪里出了问题,哪里出了问题,这非常方便。如果要重命名
convertView
请更改
getView()
方法中参数的名称。如果logcat不太长(x<100行),请将其作为edit发布到问题中,而不是作为注释。我刚刚发布了日志消息。。。我一直在试图弄清楚它在说什么,但不能说OP声称他的应用程序崩溃了!我很惊讶它能编译!接得好,艾比@存在用于调用资源id字符串的Barns,即
R.string.app_name
@Sam::是的,但我收到一条警告说
setText(int)
需要一个“资源类型的字符串”。其他任何内容都会被标记,并且代码行下方会出现一条大红线。这通常不是个好兆头。但是,它仍然会编译。
    01-30 23:34:38.508 11110-11110/com.example.itis.quakereportapp 
    E/System: stat file error, path is 
    /data/app/com.example.itis.quakereportapp-1/lib/arm64, exception is 
    android.system.ErrnoException: stat failed: ENOENT (No such file or 
    directory)
    01-30 23:34:38.888 11110-11134/com.example.itis.quakereportapp E/GED: 
    Failed to get GED Log Buf, err(0)

                                                                      [ 
    01-30 23:34:38.888 11110:11134 I/         ]

    elapse(include ctx switch):4357 (ms), eglInitialize
    01-30 23:34:38.890 11110-11110/com.example.itis.quakereportapp 
    E/AndroidRuntime: FATAL EXCEPTION: main

    Process: com.example.itis.quakereportapp, PID: 11110

    android.content.res.Resources$NotFoundException: Resource ID #0x0

    at android.content.res.Resources.getValue(Resources.java:1490)

    at
 android.content.res.Resources.loadXmlResourceParser(Resources.java:3060)

    at android.content.res.Resources.getLayout(Resources.java:1264)

    at android.view.LayoutInflater.inflate(LayoutInflater.java:418)

    at 


 android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:371)

    at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)

    at android.widget.AbsListView.obtainView(AbsListView.java:2572)

    at android.widget.ListView.makeAndAddView(ListView.java:1956)

    at android.widget.ListView.fillDown(ListView.java:757)

    at android.widget.ListView.fillFromTop(ListView.java:822)

    at android.widget.ListView.layoutChildren(ListView.java:1751)

    at android.widget.AbsListView.onLayout(AbsListView.java:2326)

    at android.view.View.layout(View.java:16121)

    at android.view.ViewGroup.layout(ViewGroup.java:5185)

    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1959)

    at 
    android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1948)
                                                                                     at android.widget.LinearLayout.onLayout(LinearLayout.java:1724)
                                                                                     at android.view.View.layout(View.java:16121)
                                                                                     at android.view.ViewGroup.layout(ViewGroup.java:5185)
                                                                                     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
                                                                                     at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
                                                                                     at android.view.View.layout(View.java:16121)
                                                                                     at android.view.ViewGroup.layout(ViewGroup.java:5185)
                                                                                     at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:443)
                                                                                     at android.view.View.layout(View.java:16121)
                                                                                     at android.view.ViewGroup.layout(ViewGroup.java:5185)
                                                                                     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
                                                                                     at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
                                                                                     at android.view.View.layout(View.java:16121)
                                                                                     at android.view.ViewGroup.layout(ViewGroup.java:5185)
                                                                                     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1959)
                                                                                     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1813)
                                                                                     at android.widget.LinearLayout.onLayout(LinearLayout.java:1722)
                                                                                     at android.view.View.layout(View.java:16121)
                                                                                     at android.view.ViewGroup.layout(ViewGroup.java:5185)
                                                                                     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
                                                                                     at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
                                                                                     at android.view.View.layout(View.java:16121)
                                                                                     at android.view.ViewGroup.layout(ViewGroup.java:5185)
                                                                                     at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2532)
                                                                                     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2226)
                                                                                     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1323)
                                                                                     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6686)
                                                                                     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:800)
                                                                                     at android.view.Choreographer.doCallbacks(Choreographer.java:603)
                                                                                     at android.view.Choreographer.doFrame(Choreographer.java:572)
                                                                                     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:786)
                                                                                     at android.os.Handler.handleCallback(Handler.java:815)
                                                                                     at android.os.Handler.dispatchMessage(Handler.java:104)
                                                                                     at android.os.Looper.loop(Looper.java:194)
                                                                                     at android.app.ActivityThread.main(ActivityThread.java:5834)
                                                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                                                     at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1119)
                                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:885)