java.lang.String com.activeandroid.TableInfo.getTableName()' on a null object reference
というエラーが出ます。
tableを設定しているクラスは
lang
1package com.lifeistech.android.techmemotyou; 2 3 4import com.activeandroid.Model; 5import com.activeandroid.annotation.Column; 6import com.activeandroid.annotation.Table; 7 8@Table(name = "memo_table") 9public class MemoDB extends Model{ 10 @Column (name = "title") 11 public String title; 12 13 @Column (name = "memo") 14 public String memo; 15 16 @Column (name = "date") 17 public String date; 18 19 @Override 20 public String toString(){ 21 return title; 22 } 23}
という風になっています。また、テーブルに保存された情報を引き出すlistviewのアダプターを設定するActivityは
lang
1package com.lifeistech.android.techmemotyou; 2 3import android.content.Intent; 4import android.support.v7.app.AppCompatActivity; 5import android.os.Bundle; 6import android.view.Menu; 7import android.view.MenuItem; 8import android.widget.ArrayAdapter; 9import android.widget.ListView; 10 11import com.activeandroid.query.Select; 12 13import java.util.List; 14 15public class MainActivity extends AppCompatActivity { 16 17 ListView listview; 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.activity_main); 22 listview = (ListView)findViewById(R.id.memo_list); 23 } 24 @Override 25 public void onResume(){ 26 super.onResume(); 27 setMemoList(); 28 } 29 30 void setMemoList(){ 31 List<MemoDB> memoList = new Select().from(MemoDB.class).execute(); 32 ArrayAdapter<MemoDB> adapter = new ArrayAdapter<>(getApplicationContext(), R.layout.memo_row, memoList); 33 listview.setAdapter(adapter); 34 } 35 36 37 38 @Override 39 public boolean onCreateOptionsMenu(Menu menu) { 40 getMenuInflater().inflate(R.menu.mamu_main, menu); 41 return true; 42 } 43 @Override 44 public boolean onOptionsItemSelected(MenuItem item) { 45 46 int id = item.getItemId(); 47 48 if (id == R.id.main_create) { 49 50 Intent intent = new Intent(MainActivity.this, MemoCreateActivity.class); 51 startActivity(intent); 52 53 return true; 54 } 55 return super.onOptionsItemSelected(item); 56 } 57} 58
というようになっています。エラーでは、getTableName()が使われていないとか、何もしていされていないと怒られているようですが、これをどう使えば良いのでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。