Activity
import android.content.Context; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button newCreate; private ListView listitem; private List<DtoItem> items; private Button allDelete; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); newCreate = (Button)findViewById(R.id.button); newCreate.setOnClickListener(this); listitem = (ListView)findViewById(R.id.todolistview); allDelete = (Button)findViewById(R.id.allDelete); allDelete.setOnClickListener(this); items = DaoItem.findAll(getApplicationContext()); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1); for(DtoItem item:items){ Log.d("Log : ", String.valueOf(item.title)); adapter.add(item.title); } listitem.setAdapter(adapter); } public void onClick(View v) { if(v==newCreate){ Intent intent = new Intent(this,NewCreateActivity.class); startActivity(intent); } if(v == allDelete){ DaoItem.alldelete(getApplicationContext()); items = DaoItem.findAll(getApplicationContext()); ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1); for(DtoItem item:items){ adapter.add(String.valueOf(item.id)); } listitem.setAdapter(adapter); } } }
このアプリを実行すると
Log :: android.support.v7.widget.AppCompatTextView{f523cad V.ED..... ........ 0,26-216,83 #7f0b007a app:id/textTitle}
となりデータベースから値がとってこれません。
itemはid,title,contentsを持っており、idでは正しく表示されました。
データベースからとってくるとこのメソッド
public static List<DtoItem> findAll(Context context) { SQLiteDatabase db = getReadableDB(context); // データベース取得 List<DtoItem> listItem = new ArrayList<DtoItem>(); Cursor cursor = db.rawQuery("select * from " + TABLE_NAME + " order by " + COLUMN_ID, null); if (cursor.moveToFirst()) { do { DtoItem item = new DtoItem(); item.id = cursor.getLong(0); item.title= cursor.getString(1); item.contents = cursor.getString(2); item.date = cursor.getString(3); listItem.add(item); } while (cursor.moveToNext()); } cursor.close(); return listItem; }
public static long insert(Context context, DtoItem item) { SQLiteDatabase db = getWritableDB(context); // データベース取得 ContentValues values = new ContentValues(); values.put(COLUMN_TITLE, item.title); values.put(COLUMN_CONTENTS, item.contents); values.put(COLUMN_DATE,item.date); return db.insert(TABLE_NAME, null, values); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/03 12:50