Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xabber-android
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
xabber-android
Commits
aab530bf
Commit
aab530bf
authored
Apr 20, 2015
by
Grigory Fedorov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Chat: ListView replaced by RecyclerView. Clicks do not work so far.
parent
4224e9a5
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
145 additions
and
125 deletions
+145
-125
ChatViewerFragment.java
...c/main/java/com/xabber/android/ui/ChatViewerFragment.java
+14
-10
ChatMessageAdapter.java
...ava/com/xabber/android/ui/adapter/ChatMessageAdapter.java
+128
-112
chat_viewer_item.xml
app/src/main/res/layout/chat_viewer_item.xml
+3
-3
No files found.
app/src/main/java/com/xabber/android/ui/ChatViewerFragment.java
View file @
aab530bf
...
...
@@ -8,6 +8,8 @@ import android.content.Context;
import
android.os.Bundle
;
import
android.support.v4.app.NavUtils
;
import
android.support.v7.app.ActionBarActivity
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
import
android.support.v7.widget.Toolbar
;
import
android.text.Editable
;
import
android.text.TextWatcher
;
...
...
@@ -24,7 +26,6 @@ import android.view.animation.AnimationUtils;
import
android.widget.AdapterView
;
import
android.widget.EditText
;
import
android.widget.ImageButton
;
import
android.widget.ListView
;
import
android.widget.PopupMenu
;
import
com.xabber.android.data.Application
;
...
...
@@ -63,7 +64,8 @@ public class ChatViewerFragment extends Fragment implements AdapterView.OnItemCl
private
static
final
int
MINIMUM_MESSAGES_TO_LOAD
=
10
;
private
EditText
inputView
;
private
ListView
listView
;
private
RecyclerView
recyclerView
;
private
ChatMessageAdapter
chatMessageAdapter
;
private
boolean
skipOnTextChanges
;
...
...
@@ -156,10 +158,12 @@ public class ChatViewerFragment extends Fragment implements AdapterView.OnItemCl
chatMessageAdapter
=
new
ChatMessageAdapter
(
getActivity
(),
account
,
user
);
listView
=
(
ListView
)
view
.
findViewById
(
android
.
R
.
id
.
list
);
listView
.
setAdapter
(
chatMessageAdapter
);
listView
.
setOnItemClickListener
(
this
);
recyclerView
=
(
RecyclerView
)
view
.
findViewById
(
R
.
id
.
chat_messages_recycler_view
);
recyclerView
.
setAdapter
(
chatMessageAdapter
);
LinearLayoutManager
layoutManager
=
new
LinearLayoutManager
(
getActivity
());
layoutManager
.
setStackFromEnd
(
true
);
recyclerView
.
setLayoutManager
(
layoutManager
);
inputView
=
(
EditText
)
view
.
findViewById
(
R
.
id
.
chat_input
);
...
...
@@ -369,7 +373,7 @@ public class ChatViewerFragment extends Fragment implements AdapterView.OnItemCl
super
.
onCreateContextMenu
(
menu
,
view
,
menuInfo
);
AdapterView
.
AdapterContextMenuInfo
info
=
(
AdapterView
.
AdapterContextMenuInfo
)
menuInfo
;
ChatMessageAdapter
chatMessageAdapter
=
(
ChatMessageAdapter
)
list
View
.
getAdapter
();
ChatMessageAdapter
chatMessageAdapter
=
(
ChatMessageAdapter
)
recycler
View
.
getAdapter
();
int
itemViewType
=
chatMessageAdapter
.
getItemViewType
(
info
.
position
);
...
...
@@ -388,7 +392,7 @@ public class ChatViewerFragment extends Fragment implements AdapterView.OnItemCl
@Override
public
boolean
onContextItemSelected
(
MenuItem
item
)
{
AdapterView
.
AdapterContextMenuInfo
info
=
(
AdapterView
.
AdapterContextMenuInfo
)
item
.
getMenuInfo
();
final
MessageItem
message
=
(
MessageItem
)
listView
.
getAdapter
()
.
getItem
(
info
.
position
);
final
MessageItem
message
=
(
MessageItem
)
chatMessageAdapter
.
getItem
(
info
.
position
);
switch
(
item
.
getItemId
())
{
case
R
.
id
.
action_message_repeat
:
...
...
@@ -453,9 +457,9 @@ public class ChatViewerFragment extends Fragment implements AdapterView.OnItemCl
@Override
public
void
onItemClick
(
AdapterView
<?>
parent
,
View
view
,
int
position
,
long
id
)
{
registerForContextMenu
(
list
View
);
list
View
.
showContextMenuForChild
(
view
);
unregisterForContextMenu
(
list
View
);
registerForContextMenu
(
recycler
View
);
recycler
View
.
showContextMenuForChild
(
view
);
unregisterForContextMenu
(
recycler
View
);
}
@Override
...
...
app/src/main/java/com/xabber/android/ui/adapter/ChatMessageAdapter.java
View file @
aab530bf
This diff is collapsed.
Click to expand it.
app/src/main/res/layout/chat_viewer_item.xml
View file @
aab530bf
...
...
@@ -38,12 +38,12 @@
</android.support.v7.widget.Toolbar>
<
List
View
android:id=
"@
android:id/list
"
<
android.support.v7.widget.Recycler
View
android:id=
"@
+id/chat_messages_recycler_view
"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:scrollbars=
"vertical"
android:stackFromBottom=
"true"
android:transcriptMode=
"normal"
android:smoothScrollbar=
"false"
android:divider=
"@null"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment