Realmを使ってデータベースから取得したのですが、表示のされ方が周りのものと違います。文字列をそのまま取り出せないでしょうか。
同じプログラムで私だけが、どうも数式みたいなのが表示されます。何らかの設定のミスかなと疑っている次第なのですが。
全てのページのプログラムを載せるとなると、多すぎて見づらくなりそうなので、それ以外に必要なページ、プログラム等があれば載せますので教えて欲しいです。要望があり追加しました。
画像のページのプログラムです。
java
1package com.websarva.wings.amdrpod.udemyandroid11_1; 2 3import android.content.res.ColorStateList; 4import android.graphics.Bitmap; 5import android.graphics.Color; 6import android.graphics.drawable.BitmapDrawable; 7import android.os.Bundle; 8import android.support.design.widget.CollapsingToolbarLayout; 9import android.support.design.widget.FloatingActionButton; 10import android.support.design.widget.Snackbar; 11import android.support.v4.widget.NestedScrollView; 12import android.support.v7.app.AppCompatActivity; 13import android.support.v7.graphics.Palette; 14import android.support.v7.widget.Toolbar; 15import android.view.View; 16import android.widget.ImageView; 17import android.widget.TextView; 18 19import java.text.SimpleDateFormat; 20 21import io.realm.Realm; 22 23public class ShowActivity extends AppCompatActivity { 24 private Realm mRealm; 25 private int[] images={R.drawable.image0,R.drawable.image1,R.drawable.image2}; 26 27 @Override 28 protected void onCreate(Bundle savedInstanceState) { 29 super.onCreate(savedInstanceState); 30 setContentView(R.layout.activity_show); 31 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 32 setSupportActionBar(toolbar); 33 34 FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 35 fab.setOnClickListener(new View.OnClickListener() { 36 @Override 37 public void onClick(View view) { 38 Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 39 .setAction("Action", null).show(); 40 } 41 }); 42 43 mRealm = Realm.getDefaultInstance(); 44 ImageView toolbarImage=(ImageView)findViewById(R.id.toolbarImage); 45 TextView date = (TextView)findViewById(R.id.date); 46 TextView detail = (TextView)findViewById(R.id.detail); 47 CollapsingToolbarLayout layout =(CollapsingToolbarLayout)findViewById(R.id.toolbar_layout); 48 49 //ScroollView呼び出し 50 NestedScrollView scrollView = (NestedScrollView) findViewById(R.id.scrollView); //重大なエラーあり 51 // content_showのスクロールビューと同じにする。同じようなR値が沢山あった為エラーにつながった。 52 53 54 if(getIntent() != null){ 55 long mid = getIntent().getLongExtra("id",-1); 56 Schedule sc = mRealm.where(Schedule.class).equalTo("id",mid).findFirst(); 57 58 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); 59 String format =sdf.format(sc.date); 60 date.setText(format); 61 layout.setTitle(sc.title); 62 detail.setText(sc.detail); 63 toolbarImage.setImageResource(images[(int)mid %3]); 64 65 66 //Bitmap取得 67 Bitmap bitmap =((BitmapDrawable)toolbarImage.getDrawable()).getBitmap(); 68 Palette palette = Palette.from(bitmap).generate(); 69 70 //パレットから色を取得する 71 int titleColor = palette.getLightVibrantColor(Color.WHITE); 72 int bodyColor = palette.getDarkMutedColor(Color.BLACK); 73 int scrimColor = palette.getMutedColor(Color.DKGRAY); 74 int iconColor =palette.getVibrantColor(Color.LTGRAY); 75 76 layout.setExpandedTitleColor(titleColor); //eee 77 layout.setContentScrimColor(scrimColor); //画像背景 78 scrollView.setBackgroundColor(bodyColor); //本文背景 79 detail.setTextColor(titleColor); //本文文字 80 fab.setBackgroundTintList(ColorStateList.valueOf(iconColor)); //Floatingbuttonのtintカラー 81}} 82@Override 83protected void onDestroy() { 84super.onDestroy(); 85mRealm.close(); 86} 87} 88
ListViewが表示されるMainのプログラム
java
1package com.websarva.wings.amdrpod.udemyandroid11_1; 2 3import android.content.Intent; 4import android.os.Bundle; 5import android.support.design.widget.FloatingActionButton; 6import android.support.design.widget.Snackbar; 7import android.support.v7.app.AppCompatActivity; 8import android.view.View; 9import android.widget.AdapterView; 10import android.widget.Button; 11import android.widget.ListView; 12 13import java.util.Date; 14 15import io.realm.Realm; 16import io.realm.RealmResults; 17 18public class MainActivity extends AppCompatActivity { 19 private Realm mrealm; 20 private ListView list; 21 22 @Override 23 protected void onCreate(Bundle savedInstanceState) { 24 super.onCreate(savedInstanceState); 25 setContentView(R.layout.activity_main); 26 27 mrealm = Realm.getDefaultInstance(); 28 list = (ListView) findViewById(R.id.list); 29 RealmResults<Schedule> schedules = mrealm.where(Schedule.class).findAll(); 30 ScheduleAdapter adapter = new ScheduleAdapter(schedules); 31 32 list.setAdapter(adapter); 33 34 Button dbTest = (Button) findViewById(R.id.dbtestbutton); 35 dbTest.setOnClickListener(new View.OnClickListener() { 36 @Override 37 public void onClick(View v) { 38 Intent intent = new Intent(MainActivity.this, RealmTestActivity.class); 39 startActivity(intent); 40 } 41 }); 42 FloatingActionButton add = (FloatingActionButton) findViewById(R.id.add); 43 add.setOnClickListener(new View.OnClickListener() { 44 //app:srcComatにエラーがついているが問題なく動くためスルー 45 @Override 46 public void onClick(View v) { 47 final long[] newId = new long[1]; 48 mrealm.executeTransaction(new Realm.Transaction() { 49 @Override 50 public void execute(Realm realm) { 51 Number num = realm.where(Schedule.class).max("id"); 52 newId[0] = 0; 53 if (num != null) { 54 newId[0] = num.longValue() + 1; 55 } 56 Schedule sc = realm.createObject(Schedule.class, newId[0]); 57 sc.date = new Date(); 58 sc.title = ""; 59 sc.detail = ""; 60 } 61 }); 62 Intent i = new Intent(MainActivity.this, inputActivity.class); 63 i.putExtra("id", newId[0]); 64 startActivity(i); 65 } 66 }); 67 list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 68 @Override 69 public void onItemClick(AdapterView<?> parent, View view, int position, long l) { 70 ScheduleAdapter adapter = (ScheduleAdapter) list.getAdapter(); 71 Schedule sc = adapter.getItem(position); 72 Intent i = new Intent(MainActivity.this, ShowActivity.class); 73 i.putExtra("id", sc.id); 74 //でかいミス発生!そしててこずった!putExtraのnameはgetExtraと揃えること。大文字小文字まできっちりと。 75 startActivity(i); 76 } 77 }); 78 list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 79 @Override 80 public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { 81 ScheduleAdapter adapter = (ScheduleAdapter) list.getAdapter(); 82 final Schedule sc = adapter.getItem(position);//データベースからposition取得。select文の代わりになる 83 mrealm.executeTransaction(new Realm.Transaction() { 84 @Override 85 public void execute(Realm realm) { 86 sc.deleteFromRealm(); 87 } 88 }); 89Snackbar.make(view,"削除しました",Snackbar.LENGTH_LONG) 90.setAction("OK", new View.OnClickListener() { //スナックバーはアクションを追加できる 91@Override 92public void onClick(View v) { 93Snackbar.make(v,"OKが押された時の処理",Snackbar.LENGTH_SHORT).show(); 94}}) 95.show(); 96return true; 97}});} 98 99@Override 100protected void onDestroy() { 101super.onDestroy(); 102mrealm.close();}} 103
回答1件
あなたの回答
tips
プレビュー