错误/AndroidRuntime(335):引起:java.lang.NullPointerException [英] ERROR/AndroidRuntime(335): Caused by: java.lang.NullPointerException

查看:36
本文介绍了错误/AndroidRuntime(335):引起:java.lang.NullPointerException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 android 的新蜜蜂.在执行我的应用程序时,我收到空点异常错误,不知道为什么会发生这种情况.请任何人帮助我摆脱这个问题.提前致谢.

Hi i'm new bee to android. while executing my application I'm getting nullpoint exception error, dont know why it is happening. please any one help me to get rid from this issue. thanks in advance.

这是我的日志:

09-14 12:30:14.027: INFO/System.out(365): Constructor StudentList Adapter...
09-14 12:30:14.027: DEBUG/AndroidRuntime(365): Shutting down VM
09-14 12:30:14.027: WARN/dalvikvm(365): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
09-14 12:30:14.047: ERROR/AndroidRuntime(365): FATAL EXCEPTION: main
09-14 12:30:14.047: ERROR/AndroidRuntime(365): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.UserLogin/com.UserLogin.FindPlaces}: java.lang.NullPointerException
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.app.ActivityThread.startActivityNow(ActivityThread.java:2503)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:651)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.widget.TabHost.setCurrentTab(TabHost.java:323)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:129)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:453)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.view.View.performClick(View.java:2408)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.view.View$PerformClick.run(View.java:8816)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.os.Handler.handleCallback(Handler.java:587)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.os.Handler.dispatchMessage(Handler.java:92)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.os.Looper.loop(Looper.java:123)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.app.ActivityThread.main(ActivityThread.java:4627)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at java.lang.reflect.Method.invokeNative(Native Method)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at java.lang.reflect.Method.invoke(Method.java:521)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at dalvik.system.NativeStart.main(Native Method)
09-14 12:30:14.047: ERROR/AndroidRuntime(365): Caused by: java.lang.NullPointerException
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at com.UserLogin.FindPlaces.displayLocs(FindPlaces.java:35)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at com.UserLogin.FindPlaces.onCreate(FindPlaces.java:30)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-14 12:30:14.047: ERROR/AndroidRuntime(365):     ... 18 more
09-14 12:30:14.057: WARN/ActivityManager(58):   Force finishing activity com.UserLogin/.Innerpage
09-14 12:30:14.594: WARN/ActivityManager(58): Activity pause timeout for HistoryRecord{4506eef0 com.UserLogin/.Innerpage}
09-14 12:30:16.347: INFO/Process(365): Sending signal. PID: 365 SIG: 9
09-14 12:30:16.367: INFO/ActivityManager(58): Process com.UserLogin (pid 365) has died.
09-14 12:30:16.367: INFO/WindowManager(58): WIN DEATH: Window{4506a6e0 com.UserLogin/com.UserLogin.Innerpage paused=false}
09-14 12:30:16.367: INFO/WindowManager(58): WIN DEATH: Window{451492d0 com.UserLogin/com.UserLogin.UserLogin paused=false}
09-14 12:30:16.397: INFO/UsageStats(58): Unexpected resume of com.android.launcher while already resumed in com.UserLogin

Java 文件:

import java.util.ArrayList;

import android.app.ListActivity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

public class FindPlaces extends ListActivity{

    private SQLiteDatabase DbLoc;
    ListView lv;
    private ArrayList<Fields> results = new ArrayList<Fields>();
    @Override
    public void onCreate(Bundle savedInstance) {
        super.onCreate(savedInstance);
        //setContentView(R.layout.places);
        getallLocs();
        displayLocs();

    }
    private void displayLocs() {
        lv = (ListView)findViewById(R.id.listPlaces);
        lv.setAdapter(new StudentListAdapter(this, R.layout.placeslist, results));

        //lv.setAdapter(new ArrayAdapter<Fields>(this,android.R.layout.simple_list_item_1, results));

    }
    class StudentListAdapter extends ArrayAdapter<Fields>{
        private ArrayList<Fields> locationDetails;
        private Context mContext;

        public StudentListAdapter(Context context,int textViewResourceId, ArrayList<Fields> results) {
            super(context, textViewResourceId, results);
            // TODO Auto-generated constructor stub
            System.out.println("Constructor StudentList Adapter...");
            this.locationDetails = results;
            mContext = context;
        }


        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return results.size();
        }

        @Override
        public Fields getItem(int position) {
            // TODO Auto-generated method stub
            return locationDetails.get(position);
        }
        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return super.getItemId(position);
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            View v = convertView;
            if(v == null){
                LayoutInflater vl = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                v = vl.inflate(R.layout.placeslist, null);
            }
                            Fields o = results.get(position);

            if (o != null) {

                TextView iv = (TextView)v.findViewById(R.id.toptext);
                TextView tv_sNo = (TextView)v.findViewById(R.id.toptext1);
                iv.setText(o.getLocationName());                            
                tv_sNo.setText(o.getLocationImage());   

            }
            DbLoc.close();
            return v;
        }       
    }
    static class ViewHolder
    {
        TextView Locationname;
        ImageView Locationimage;
    }
    private void getallLocs() {
        // TODO Auto-generated method stub
        try {
            DatabaseHelper dbHelper = new DatabaseHelper(
                    this.getApplicationContext());
            DbLoc = dbHelper.getWritableDatabase();
            Cursor c = DbLoc.rawQuery("SELECT " + DatabaseHelper.LocationName+ " , " + DatabaseHelper.LocationImage + " FROM "
                    + DatabaseHelper.LOCATIONTABLE , null);
                            if (c != null) {
                if (c.moveToFirst()) {
                    do {
                        String LocationName= c.getString(c.getColumnIndex("LocationName"));
                        String Mobile = c.getString(c
                                .getColumnIndex("LocationImage"));
                        Fields p = new Fields(LocationName, Mobile);
                        results.add(p);

                    } while (c.moveToNext());
                }
            }
        } catch (SQLiteException se) {
            Log.e(getClass().getSimpleName(),
            "Could not create or Open the database");
        } 
        finally { if (DbLoc != null) DbLoc.execSQL("DELETE FROM " +
                DatabaseHelper.FRIENDTABLE); DbLoc.execSQL("DELETE FROM " +
                        DatabaseHelper.LOCATIONTABLE);  
                DbLoc.execSQL("DROP TABLE IF EXISTS tablename"+ DatabaseHelper.FRIENDTABLE);
                DbLoc.execSQL("DROP TABLE IF EXISTS tablename"+ DatabaseHelper.LOCATIONTABLE);
                DbLoc.close();
        }
    }
}

Places.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:padding="6dip">
    <ListView android:id="@+id/listPlaces" android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

Placeslist.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView android:id="@+id/toptext" android:layout_width="fill_parent"
        android:layout_height="0dip" android:layout_weight="1"
        android:gravity="center_vertical" />
    <TextView android:id="@+id/toptext1" android:layout_width="fill_parent"
        android:layout_height="0dip" android:layout_weight="1"
        android:gravity="center_vertical" />
</LinearLayout>

推荐答案

取消注释此行

setContentView(R.layout.places);

已编辑:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:padding="6dip">
    <ListView android:id="@android:id/list" android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

将其替换为您的文件(Places.xml)

replace this with your file(Places.xml)

更新

 public void onCreate(Bundle savedInstance) {
        super.onCreate(savedInstance);
        //setContentView(R.layout.places);
        getallLocs();
        setListAdapter(new ArrayAdapter<Fields>(this,android.R.layout.simple_list_item_1, results));
//        displayLocs();

    }
    private void displayLocs() {
        lv = (ListView)findViewById(R.id.listPlaces);
        lv.setAdapter(new StudentListAdapter(this, R.layout.placeslist, results));

        //lv.setAdapter(new ArrayAdapter<Fields>(this,android.R.layout.simple_list_item_1, results));

    }

这篇关于错误/AndroidRuntime(335):引起:java.lang.NullPointerException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆