java.lang.RuntimeException:无法启动活动组件信息java.lang.java.lang.NullPointerException

java.lang.RuntimeException:无法启动活动组件信息java.lang.java.lang.NullPointerException,java,android,Java,Android,我创建了一个带有列表视图的简单android应用程序。该应用程序在我的平板电脑和手机上运行良好,但当我在google play上上传该应用程序时,人们报告了此错误,我无法找出我的代码出了什么问题。 它有一个启动屏幕。 带有列表视图和 单个web视图 我试着调试代码,但由于我是新手,我不知道我的代码生成的是哪一部分 例外 非常感谢您的帮助或建议 这是我的主要活动,有一个lis public class MainActivity extends Activity { public

我创建了一个带有列表视图的简单android应用程序。该应用程序在我的平板电脑和手机上运行良好,但当我在google play上上传该应用程序时,人们报告了此错误,我无法找出我的代码出了什么问题。 它有一个启动屏幕。 带有列表视图和 单个web视图

我试着调试代码,但由于我是新手,我不知道我的代码生成的是哪一部分 例外

非常感谢您的帮助或建议

这是我的主要活动,有一个lis

 public class MainActivity extends Activity
    {

    public final static String DIRECTORY_NAME = "com.example.DIRECTORY_NAME";
    public final static String FILE_NAME = "com.example.FILE_NAME";

    String directory;       // save the sub folder which user chose
    Intent toViewer;
    ListView listView;

    ArrayAdapter<String> adapter;

    EditText inputSearch;


    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.list_view);
        toViewer = new Intent(this, ViewerActivity.class);

        listView = (ListView)findViewById(R.id.listView);
        inputSearch = (EditText) findViewById(R.id.inputSearch);

        ArrayList<String> files = new ArrayList<String>();
        AssetManager assetManager = this.getAssets();    // used to get list of files in asset
        String[] fileNames;                                 // store all file names


        directory= "Questions";

        // get all pdf files from chosen directory
        try
        {
            fileNames = assetManager.list(directory);
            directory += "/";

            for (int i = 0; i < fileNames.length; i++)
            {
                String fileName = fileNames[i].toString();
                fileName = this.RemoveFileExtension(fileName);
                fileName = fileName.replace("_", " ");
                files.add(fileName);
            }
        }
        catch (IOException e1)
        {

        }

        // show all chosen PDF file on the list view


        Comparator<String> normalSort = new Comparator<String>()
        {
            public int compare(String lhs, String rhs)
            {
                return lhs.compareTo(rhs);
            }
        };

        Comparator<String> inverseSort = new Comparator<String>()
        {
            public int compare(String lhs, String rhs)
            {
                return rhs.compareTo(lhs);
            }
        };


        //adapter.sort(inverseSort);
        adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.text1, files);
        adapter.sort(normalSort);
        listView.setAdapter(adapter);
//(line 95)
         inputSearch.addTextChangedListener(new TextWatcher() {
             @Override
             public void beforeTextChanged(CharSequence s, int start, int count, int after) {

             }

             @Override
             public void onTextChanged(CharSequence cs, int start, int before, int count) {
                MainActivity.this.adapter.getFilter().filter(cs);
             }

             @Override
             public void afterTextChanged(Editable s) {

             }
         });



        //*********
        // ListView Item Click Listener
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener()
        {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id)
            {
                // ListView Clicked item value
                String  fileName = (String) listView.getItemAtPosition(position);

                // send file path to ViewerActivity to let it know which file to open
                toViewer.putExtra(MainActivity.DIRECTORY_NAME, directory);
                toViewer.putExtra(MainActivity.FILE_NAME, fileName);
                startActivity(toViewer);
            }
        });
    }



    static public String RemoveFileExtension (String fileName)
    {
        String result = fileName;

        int extensionIndex = fileName.lastIndexOf(".");

        if (extensionIndex != -1)
        {
            result = fileName.substring(0, extensionIndex);
        }

        return result;
    }
    }

您能标记MainActivity的第95行吗?这样我们就可以知道哪一行抛出异常了?在com.myexample.Tenzi_zo_Rohoni.MainActivity.onCreateMainActivity.java:95listView.setAdapteradapter****这是我的代码****inputSearch.addTextChangedListenernew TextWatcher{@Override中的第95行
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              tools:context=".ListActivity"
              android:weightSum="100">

    <!-- Editext for Search -->
    <EditText android:id="@+id/inputSearch"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:hint="Search songs.."
              android:inputType="textVisiblePassword"/>

    <ListView
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:id="@+id/listView" android:layout_gravity="center_horizontal" android:layout_weight="100"
            android:background="#875531"/>

</LinearLayout>
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myexample.Tenzi_zo_Rohoni/com.myexample.Tenzi_zo_Rohoni.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1751)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1767)
at android.app.ActivityThread.access$1500(ActivityThread.java:122)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1005)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:132)
at android.app.ActivityThread.main(ActivityThread.java:4028)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:491)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.myexample.Tenzi_zo_Rohoni.MainActivity.onCreate(MainActivity.java:95)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1715)