diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
index 79ee123..a55e7a1 100644
--- a/.idea/codeStyles/codeStyleConfig.xml
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/android/notekeeper/ListActivity.kt b/app/src/main/java/com/example/android/notekeeper/ListActivity.kt
index 46efef0..444cd27 100644
--- a/app/src/main/java/com/example/android/notekeeper/ListActivity.kt
+++ b/app/src/main/java/com/example/android/notekeeper/ListActivity.kt
@@ -3,36 +3,36 @@ package com.example.android.notekeeper
import android.content.Intent
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
-import android.widget.ArrayAdapter
+import android.support.v7.widget.DividerItemDecoration
+import android.support.v7.widget.LinearLayoutManager
+import com.example.android.notekeeper.adp.NoteAdp
import kotlinx.android.synthetic.main.activity_list.*
import kotlinx.android.synthetic.main.content_list.*
-class ListActivity : AppCompatActivity() {
+class ListActivity : AppCompatActivity(), NoteAdp.Listener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_list)
setSupportActionBar(toolbar)
- fab.setOnClickListener { view ->
- val intent = Intent(this, MainActivity::class.java)
+ fab.setOnClickListener { openNewActivity(null) }
- startActivity(intent)
+ listOfNotes.apply {
+ layoutManager = LinearLayoutManager(context)
+ addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.HORIZONTAL))
}
- listOfNotes.adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, DataManager.notes)
-
- listOfNotes.setOnItemClickListener { parent, view, position, id ->
- val intent = Intent(this, MainActivity::class.java)
-
- intent.putExtra(NOTE_POSITION, position)
+ listOfNotes.adapter = NoteAdp(DataManager.notes, this)
+ }
- startActivity(intent)
- }
+ override fun onItemClicked(adapterPosition: Int) {
+ openNewActivity(adapterPosition)
}
- override fun onResume() {
- super.onResume()
- (listOfNotes.adapter as ArrayAdapter).notifyDataSetChanged()
+ private fun openNewActivity(adpPosition: Int?) {
+ val intent = Intent(this, MainActivity::class.java)
+ adpPosition?.run { intent.putExtra(NOTE_POSITION, adpPosition) }
+ startActivity(intent)
}
}
diff --git a/app/src/main/java/com/example/android/notekeeper/NoteKeeperData.kt b/app/src/main/java/com/example/android/notekeeper/NoteKeeperData.kt
index 042bb36..50058ae 100644
--- a/app/src/main/java/com/example/android/notekeeper/NoteKeeperData.kt
+++ b/app/src/main/java/com/example/android/notekeeper/NoteKeeperData.kt
@@ -1,9 +1,5 @@
package com.example.android.notekeeper
-data class CourseInfo (val courseId: String, val title: String) {
- override fun toString(): String {
- return title
- }
-}
+data class CourseInfo(val courseId: String, val title: String)
data class NoteInfo (var course: CourseInfo? = null, var title: String? = null, var text: String? = null)
\ No newline at end of file
diff --git a/app/src/main/java/com/example/android/notekeeper/adp/NoteAdp.kt b/app/src/main/java/com/example/android/notekeeper/adp/NoteAdp.kt
new file mode 100644
index 0000000..88a7cff
--- /dev/null
+++ b/app/src/main/java/com/example/android/notekeeper/adp/NoteAdp.kt
@@ -0,0 +1,48 @@
+package com.example.android.notekeeper.adp
+
+import android.content.Context
+import android.support.v7.widget.RecyclerView
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import com.example.android.notekeeper.NoteInfo
+import com.example.android.notekeeper.R
+import kotlinx.android.synthetic.main.item_note.view.*
+
+class NoteAdp(private val noteInfoList: List, private val listener: Listener) :
+ RecyclerView.Adapter() {
+
+ interface Listener {
+ fun onItemClicked(adapterPosition: Int)
+ }
+
+ override fun onCreateViewHolder(parent: ViewGroup, p1: Int): ViewHolder {
+ val inflater = LayoutInflater.from(parent.context)
+ val layout = inflater.inflate(R.layout.item_note, parent, false)
+
+ return ViewHolder(layout, listener)
+ }
+
+ override fun onBindViewHolder(holder: ViewHolder, positionItem: Int) {
+ holder.bindView(noteInfoList[positionItem], holder.itemView.context)
+ }
+
+ override fun getItemCount(): Int = noteInfoList.size
+
+
+ class ViewHolder(private val view: View, listener: Listener) : RecyclerView.ViewHolder(view) {
+
+ init {
+ view.setOnClickListener { listener.onItemClicked(adapterPosition) }
+ }
+
+ fun bindView(noteInfo: NoteInfo, context: Context) {
+ view.item_note_info.text = context.getText(R.string.note)
+ view.item_note_course.text = noteInfo.course?.title
+ view.item_note_title.text = noteInfo.title
+ view.item_note_text.text = noteInfo.text
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/content_list.xml b/app/src/main/res/layout/content_list.xml
index 3a58861..8b6f2f2 100644
--- a/app/src/main/res/layout/content_list.xml
+++ b/app/src/main/res/layout/content_list.xml
@@ -1,20 +1,21 @@
-
+
+
+
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_note.xml b/app/src/main/res/layout/item_note.xml
new file mode 100644
index 0000000..db713d1
--- /dev/null
+++ b/app/src/main/res/layout/item_note.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 2ac0d40..64c2dd4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2,4 +2,6 @@
Edit note
Settings
Note Keeper
+
+ Note Info:
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 16dbab3..8a75869 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -14,4 +14,10 @@
+
+