при компиляции кода выходит ошибка, подскажите в чем проблема
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView2"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_below="@+id/textView2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
MainActivity.java
public class MainActivity extends ActionBarActivity {
ListView mList;
TextView header;
DatabaseHelper sqlHelper;
Cursor userCursor;
SimpleCursorAdapter userAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
header = (TextView) findViewById(R.id.header);
mList = (ListView) findViewById(R.id.list);
mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(getApplicationContext(), UserActivity.class);
intent.putExtra("id", id);
startActivity(intent);
}
});
sqlHelper = new DatabaseHelper(getApplicationContext());
// создаем базу данных
sqlHelper.create_db();
}
@Override
public void onResume(){
super.onResume();
try {
sqlHelper.open();
userCursor = sqlHelper.database.rawQuery("select * from " + DatabaseHelper.TABLE, null);
String[] headers = new String[]{DatabaseHelper.COLUMN_NAME, DatabaseHelper.COLUMN_DESCRIPTION,
DatabaseHelper.COLUMN_ADDRESS,DatabaseHelper.COLUMN_PHONE};
userAdapter = new SimpleCursorAdapter(this, android.R.layout.two_line_list_item,
userCursor, headers, new int[]{android.R.id.text1, android.R.id.text2}, 0);
header.setText("Найдено элементов: " + String.valueOf(userCursor.getCount()));
mList.setAdapter(userAdapter);
}
catch (SQLException ex){}
}
@Override
public void onDestroy(){
super.onDestroy();
// Закрываем подключения
sqlHelper.database.close();
userCursor.close();
}
/* @Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
*//* int id = item.getItemId();
if (id == R.id.action_settings) {
Intent intent = new Intent(getApplicationContext(), UserActivity.class);
startActivity(intent);
return true;
}
return super.onOptionsItemSelected(item);*//*
}*/
}
DatabaseHelper.java
public class DatabaseHelper extends SQLiteOpenHelper {
private static String DB_PATH = "/data/data/com.vakhrushevv.primer/databases/";
private static String DB_NAME = "th";
private static final int SCHEMA = 1; // версия базы данных
static final String TABLE = "public authorities";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_NAME = "Наименование";
public static final String COLUMN_DESCRIPTION = "Описание";
public static final String COLUMN_ADDRESS = "Адрес";
public static final String COLUMN_PHONE = "Телефон";
public SQLiteDatabase database;
private Context myContext;
public DatabaseHelper(Context context) {
super(context, DB_NAME, null, SCHEMA);
this.myContext=context;
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public void create_db(){
InputStream myInput = null;
OutputStream myOutput = null;
try {
File file = new File(DB_PATH + DB_NAME);
if (!file.exists()) {
this.getReadableDatabase();
//получаем локальную бд как поток
myInput = myContext.getAssets().open(DB_NAME);
// Путь к новой бд
String outFileName = DB_PATH + DB_NAME;
// Открываем пустую бд
myOutput = new FileOutputStream(outFileName);
// побайтово копируем данные
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myOutput.close();
myInput.close();
}
}
catch(IOException ex){
}
}
public void open() throws SQLException {
String path = DB_PATH + DB_NAME;
database = SQLiteDatabase.openDatabase(path, null,
SQLiteDatabase.OPEN_READWRITE);
}
@Override
public synchronized void close() {
if (database != null) {
database.close();
}
super.close();
}
}
LOGCAT
04-07 13:29:09.410 3609-3609/? I/art: Not late-enabling -Xcheck:jni (already on)
04-07 13:29:09.678 3609-3609/com.vakhrushevv.primer W/System: ClassLoader referenced unknown path: /data/app/com.vakhrushevv.primer-2/lib/x86
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer D/AndroidRuntime: Shutting down VM
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: FATAL EXCEPTION: main
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: Process: com.vakhrushevv.primer, PID: 3609
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.vakhrushevv.primer/com.vakhrushevv.primer.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setOnItemClickListener(android.widget.AdapterView$OnItemClickListener)' on a null object reference
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.app.ActivityThread.-wrap11(ActivityThread.java)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5417)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setOnItemClickListener(android.widget.AdapterView$OnItemClickListener)' on a null object reference
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at com.vakhrushevv.primer.MainActivity.onCreate(MainActivity.java:43)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6237)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.app.ActivityThread.-wrap11(ActivityThread.java)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5417)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
04-07 13:29:09.956 3609-3609/com.vakhrushevv.primer E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
04-07 13:29:13.857 3609-3609/com.vakhrushevv.primer I/Process: Sending signal. PID: 3609 SIG: 9
mList-null. Проверьте разметку, ID. – ЮрийСПб Apr 07 '16 at 13:53