ListView Cell Translation manipulation affects other cells











up vote
0
down vote

favorite












I'm working on a custom SwipeListView which allows to swipe cells to the left or to the right, currently only for Android. This works perfectly fine, but for some reason changing TranslationX of the Cell's ContentView affects other cells in the ListView. Every 8th cell changes it's TranslationX too (at least visually):



Swipe Bug



This is the line of code which results in this behavior:



mainContent.TranslationX = quota * Width + mainContentPositionX;


I've tried some possible solutions, none of them worked:




  • Try every different CachingStrategy for the ListView (RetainElement, RecycleElement, RecycleElementAndDataTemplate)

  • Run code on MainThread

  • After manipulating TranslationX, iterate through all other cells in my ListView and set their TranslationX to 0


I'm was sure the problem is that the cell is being reused and that's why it applies the TranslationX manipulation, but if it's that then I'm confused why using CachingStrategy=RetainElement doesn't solve the issue.



I'm thankful for every idea which I can work on to solve this.










share|improve this question
























  • Can you post your adapter code please?
    – Aaron
    Nov 8 at 8:26










  • @Aaron what exactly do you mean by that? It's a Xamarin app and I only included one page, the custom SwipeListView and some CustomRenderers for Android.
    – Dennis Schröer
    Nov 8 at 8:28















up vote
0
down vote

favorite












I'm working on a custom SwipeListView which allows to swipe cells to the left or to the right, currently only for Android. This works perfectly fine, but for some reason changing TranslationX of the Cell's ContentView affects other cells in the ListView. Every 8th cell changes it's TranslationX too (at least visually):



Swipe Bug



This is the line of code which results in this behavior:



mainContent.TranslationX = quota * Width + mainContentPositionX;


I've tried some possible solutions, none of them worked:




  • Try every different CachingStrategy for the ListView (RetainElement, RecycleElement, RecycleElementAndDataTemplate)

  • Run code on MainThread

  • After manipulating TranslationX, iterate through all other cells in my ListView and set their TranslationX to 0


I'm was sure the problem is that the cell is being reused and that's why it applies the TranslationX manipulation, but if it's that then I'm confused why using CachingStrategy=RetainElement doesn't solve the issue.



I'm thankful for every idea which I can work on to solve this.










share|improve this question
























  • Can you post your adapter code please?
    – Aaron
    Nov 8 at 8:26










  • @Aaron what exactly do you mean by that? It's a Xamarin app and I only included one page, the custom SwipeListView and some CustomRenderers for Android.
    – Dennis Schröer
    Nov 8 at 8:28













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I'm working on a custom SwipeListView which allows to swipe cells to the left or to the right, currently only for Android. This works perfectly fine, but for some reason changing TranslationX of the Cell's ContentView affects other cells in the ListView. Every 8th cell changes it's TranslationX too (at least visually):



Swipe Bug



This is the line of code which results in this behavior:



mainContent.TranslationX = quota * Width + mainContentPositionX;


I've tried some possible solutions, none of them worked:




  • Try every different CachingStrategy for the ListView (RetainElement, RecycleElement, RecycleElementAndDataTemplate)

  • Run code on MainThread

  • After manipulating TranslationX, iterate through all other cells in my ListView and set their TranslationX to 0


I'm was sure the problem is that the cell is being reused and that's why it applies the TranslationX manipulation, but if it's that then I'm confused why using CachingStrategy=RetainElement doesn't solve the issue.



I'm thankful for every idea which I can work on to solve this.










share|improve this question















I'm working on a custom SwipeListView which allows to swipe cells to the left or to the right, currently only for Android. This works perfectly fine, but for some reason changing TranslationX of the Cell's ContentView affects other cells in the ListView. Every 8th cell changes it's TranslationX too (at least visually):



Swipe Bug



This is the line of code which results in this behavior:



mainContent.TranslationX = quota * Width + mainContentPositionX;


I've tried some possible solutions, none of them worked:




  • Try every different CachingStrategy for the ListView (RetainElement, RecycleElement, RecycleElementAndDataTemplate)

  • Run code on MainThread

  • After manipulating TranslationX, iterate through all other cells in my ListView and set their TranslationX to 0


I'm was sure the problem is that the cell is being reused and that's why it applies the TranslationX manipulation, but if it's that then I'm confused why using CachingStrategy=RetainElement doesn't solve the issue.



I'm thankful for every idea which I can work on to solve this.







xamarin xamarin.forms






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 8 at 8:35

























asked Nov 8 at 8:25









Dennis Schröer

1,419531




1,419531












  • Can you post your adapter code please?
    – Aaron
    Nov 8 at 8:26










  • @Aaron what exactly do you mean by that? It's a Xamarin app and I only included one page, the custom SwipeListView and some CustomRenderers for Android.
    – Dennis Schröer
    Nov 8 at 8:28


















  • Can you post your adapter code please?
    – Aaron
    Nov 8 at 8:26










  • @Aaron what exactly do you mean by that? It's a Xamarin app and I only included one page, the custom SwipeListView and some CustomRenderers for Android.
    – Dennis Schröer
    Nov 8 at 8:28
















Can you post your adapter code please?
– Aaron
Nov 8 at 8:26




Can you post your adapter code please?
– Aaron
Nov 8 at 8:26












@Aaron what exactly do you mean by that? It's a Xamarin app and I only included one page, the custom SwipeListView and some CustomRenderers for Android.
– Dennis Schröer
Nov 8 at 8:28




@Aaron what exactly do you mean by that? It's a Xamarin app and I only included one page, the custom SwipeListView and some CustomRenderers for Android.
– Dennis Schröer
Nov 8 at 8:28

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53203857%2flistview-cell-translation-manipulation-affects-other-cells%23new-answer', 'question_page');
}
);

Post as a guest





































active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53203857%2flistview-cell-translation-manipulation-affects-other-cells%23new-answer', 'question_page');
}
);

Post as a guest




















































































Popular posts from this blog

Landwehr

Reims

Schenkenzell