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