前提・実現したいこと
自作したクラスをリスト化したものの中味を確認したい
発生している問題
以下mTextの中身と表示される値 com.example.listtestapp.AssetsRecord@3fe554c 想定した値(EditTextに書いた数字がListに入っている想定)ではないものが表示される。
該当のソースコード
java
1━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2package com.example.listtestapp; 3 4import androidx.appcompat.app.AppCompatActivity; 5//import省略 6 7public class MainActivity extends AppCompatActivity { 8 9 String selectCode = ""; 10 String itemCode = ""; 11 int stateCount = 1; 12 static int count = 0; 13 static List<AssetsRecord> assetsList = new ArrayList<>(); 14 15 @Override 16 protected void onCreate(Bundle savedInstanceState) { 17 super.onCreate(savedInstanceState); 18 setContentView(R.layout.activity_main); 19// EditText scanSelect = (EditText) findViewById(R.id.selectCode); 20// EditText scanItem = (EditText) findViewById(R.id.itemCode); 21 TextView msgLabel = (TextView) findViewById(R.id.msgLabel); 22 // バーコード値取得用EditTextの変更リスナーイベントを設定 23 EditText scanSelect = (EditText) findViewById(R.id.selectCode); 24 selectCode = scanSelect.toString(); 25 EditText scanItem = (EditText) findViewById(R.id.itemCode); 26 itemCode = scanItem.toString(); 27 28 Button Button4 = (Button) findViewById(R.id.Button4); 29 Button4.setOnClickListener(new View.OnClickListener() { 30 @Override 31 public void onClick(View v) { 32 Button4.setEnabled(false); 33 new Handler().postDelayed(new Runnable() { 34 public void run() { 35 Button4.setEnabled(true); 36 } 37 }, 500L); 38 onClickF4(v); 39 } 40 }); 41 42 43 private void onClickF4(View view) { 44 EditText scanSelect = (EditText) findViewById(R.id.selectCode); 45 EditText scanItem = (EditText) findViewById(R.id.itemCode); 46 TextView msgLabel = (TextView) findViewById(R.id.msgLabel); 47 selectCode = scanSelect.getText().toString(); 48 itemCode = scanItem.getText().toString(); 49 assetsList.add(new AssetsRecord(selectCode, itemCode, stateCount)); 50 count = AssetsRecord.getCount(count); 51 msgLabel.setText(String.valueOf(count)); 52 } 53} 54 55 56━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57package com.example.listtestapp; 58 59import androidx.appcompat.app.AppCompatActivity; 60//import省略 61 62public class frm_Assets extends AppCompatActivity { 63 64 List<AssetsRecord> list; 65 66 @Override 67 protected void onCreate(Bundle savedInstanceState) { 68 super.onCreate(savedInstanceState); 69 setContentView(R.layout.activity_frm__asetts); 70 mdl_Details mdl_details = mdl_Details.getInstance(); 71 list = mdl_Details.assetsList; 72 TextView msgLabel = (TextView) findViewById(R.id.msgLabel); 73 TextView test = (TextView) findViewById(R.id.test); 74 75 for(int i = 0; i < mdl_Details.count; i++){ 76 test.append(list.get(i).toString() + "\n"); 77 } 78 79━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80package com.example.listtestapp; 81 82//import省略 83 84public class AssetsRecord { 85 86// static List<String> selectList = new ArrayList<>(); 87// static List<String> itemList = new ArrayList<>(); 88// static List<String> detail = new ArrayList<>(); 89 String selectCode; 90 String itemCode; 91 int count = 0; 92 int statusCount = 1; 93 94 public AssetsRecord(String selectCode, String itemCode, int statusCount) { 95 this.selectCode = selectCode; 96 this.itemCode = itemCode; 97 this.statusCount = statusCount; 98 count += 1; 99 } 100
試したこと
List<クラス>の所をStringやObjectに変えてみたり、配列に入れ替えられるかしてみたりの確認。
TextViewではなくListViewでの表示。
補足情報(FW/ツールのバージョンなど)
AndroidStudio version4.1.2
MinAPI:25
回答1件
あなたの回答
tips
プレビュー