質問編集履歴

5

不要削除

2022/06/15 00:08

投稿

begori
begori

スコア20

test CHANGED
File without changes
test CHANGED
@@ -35,55 +35,7 @@
35
35
  }
36
36
  }
37
37
  ```
38
- ```PersonData.kt
39
- data class PersonData(
40
- var userName: String
41
- )
42
- ```
43
- ```RecyclerAdapter.kt
44
- class RecyclerAdapter(private var personList:MutableList<PersonData>):RecyclerView.Adapter<ViewHolderItem>() {
45
38
 
46
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolderItem {
47
- val itemXml = LayoutInflater.from(parent.context)
48
- .inflate(R.layout.one_layout,parent,false)
49
- return ViewHolderItem(itemXml)
50
- }
51
-
52
- override fun onBindViewHolder(holder: ViewHolderItem, position: Int) {
53
- val currentItem = personList[position]
54
- holder.textViewHolder.text = currentItem.userName
55
- }
56
-
57
- override fun getItemCount(): Int {
58
- return personList.size
59
- }
60
- }
61
- ```
62
- ```MainActivity.kt
63
- var personList = mutableListOf<PersonData>()
64
- private lateinit var recyclerView :RecyclerView
65
- private var recyclerAdapter = RecyclerAdapter(personList)
66
-
67
- class MainActivity : AppCompatActivity() {
68
- override fun onCreate(savedInstanceState: Bundle?) {
69
- super.onCreate(savedInstanceState)
70
- setContentView(R.layout.activity_main)
71
-
72
- recyclerView = findViewById(R.id.rv)
73
- recyclerView.adapter = recyclerAdapter
74
- recyclerView.layoutManager = LinearLayoutManager(this)
75
-
76
- val btnAdd:Button = findViewById(R.id.btnAdd)
77
-
78
- btnAdd.setOnClickListener {
79
- val et :EditText = findViewById(R.id.et)
80
- val data = PersonData(et.text.toString())
81
- personList.add(data)
82
- recyclerAdapter.notifyItemInserted(personList.lastIndex)
83
- }
84
- }
85
- }
86
- ```
87
39
 
88
40
  ### 試したこと
89
41
  this@ViewHolderItem

4

詳細追記

2022/06/14 23:44

投稿

begori
begori

スコア20

test CHANGED
File without changes
test CHANGED
@@ -13,6 +13,7 @@
13
13
  ### 発生している問題・エラーメッセージ
14
14
 
15
15
  ```
16
+ AlertDialog.Builder(this)のところが
16
17
  Type mismatch : inferred type is ViewHolderItem but Context! was expected
17
18
  ```
18
19
 

3

詳細追記

2022/06/14 23:41

投稿

begori
begori

スコア20

test CHANGED
@@ -1 +1 @@
1
- RecyclerViewで追加したアイテムを削除したい(removeの使方がわらない)
1
+ RecyclerViewのViewHolderクラス(中のinitブロック内)でcontextはどう書けばいのでしょう
test CHANGED
@@ -4,24 +4,16 @@
4
4
  ▼入力したテキストを、ボタンをおしたら追加される
5
5
  https://pg.akihiro-takeda.com/android-recyclerview-dynamic/
6
6
 
7
- 実際、アイテム追加する、というところまは出来るようになりました。
7
+ アイテム追加でるようになた。
8
-
9
- が、追加するだけで、
10
- 追加したアイテム(タッチしたアイテム)を削除する方法の説明がないので自分で奮闘中。
11
- それっぽいコードは出来たのですが、エミュレータが無反応なので、正しい書き方を添削いただきたい
12
8
 
13
9
  ### 実現したいこと
14
10
 
15
- 追加したアイテムの一覧から、タッチしたアイテム削除できるようにしたい
11
+ 追加したアイテムの一覧から、アイテムをタッチしたラートダアログ表示させたい
16
12
 
17
13
  ### 発生している問題・エラーメッセージ
18
14
 
19
15
  ```
20
- エミュレータが無反応。
21
- おそらくViewHolderの書き方(remove)が間違っていると推測。ただし直し方・正しい書き方がわからない。
22
- ↓↓
23
- personList.removeAt(position)
24
- recyclerAdapter.notifyItemRemoved(position)
16
+ Type mismatch : inferred type is ViewHolderItem but Context! was expected
25
17
  ```
26
18
 
27
19
  ### 該当のソースコード
@@ -36,8 +28,8 @@
36
28
  view.setOnClickListener {
37
29
  val position:Int = adapterPosition
38
30
 
39
- personList.removeAt(position)
31
+ //アラートダイアログ
40
- recyclerAdapter.notifyItemRemoved(position)
32
+ AlertDialog.Builder(this) //←ここ
41
33
  }
42
34
  }
43
35
  }
@@ -93,10 +85,10 @@
93
85
  ```
94
86
 
95
87
  ### 試したこと
96
- データの削除はremoveを使うらしい、というところまでは検索でたどり着いたので
97
- ViewHolderのところに、remove~、でそれっぽい記述を書きました。
88
+ this@ViewHolderItem
89
+ とか
98
- が、自分でもこの書き方がおそらく違うんだろうなというところまではわかるのですが
90
+ this@MainActivity
99
- どう間違っいるのかわかりま添削をお願いいたします。
91
+ とか試しみた、解決ず、ギブアップ
100
92
 
101
93
  ### 補足情報(FW/ツールのバージョンなど)
102
94
 

2

補足追加

2022/06/13 00:32

投稿

begori
begori

スコア20

test CHANGED
File without changes
test CHANGED
@@ -19,6 +19,9 @@
19
19
  ```
20
20
  エミュレータが無反応。
21
21
  おそらくViewHolderの書き方(remove)が間違っていると推測。ただし直し方・正しい書き方がわからない。
22
+ ↓↓
23
+ personList.removeAt(position)
24
+ recyclerAdapter.notifyItemRemoved(position)
22
25
  ```
23
26
 
24
27
  ### 該当のソースコード

1

追記・補足

2022/06/13 00:25

投稿

begori
begori

スコア20

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,10 @@
1
1
  ### 前提
2
2
 
3
- ここに質問の内容を詳しく書いてください。
4
3
  kotlinでこちらのサイトを参考に、RecyclerViewにアイテムを追加する記述を学習。
4
+ ▼入力したテキストを、ボタンをおしたら追加される
5
5
  https://pg.akihiro-takeda.com/android-recyclerview-dynamic/
6
6
 
7
- 実際、追加する出来るようになりました。
7
+ 実際、アイテムを追加する、といところまでは出来るようになりました。
8
8
 
9
9
  が、追加するだけで、
10
10
  追加したアイテム(タッチしたアイテム)を削除する方法の説明がないので自分で奮闘中。