के साथ दो सूची दृश्यों को सिंक करना मैं एक तरफ से GridView की तरह ListViews कार्य दोनों तरफ से बनाने की कोशिश कर रहा हूं। कारण मैं ग्रिड व्यू का उपयोग नहीं कर रहा हूं क्योंकि स्टैगर्ड लुक के लिए कोई समर्थन नहीं है। वैसे भी, मैं कोड निम्नलिखित अब तक राशि: - पुराना, अब अप्रासंगिक कोड -एंड्रॉइड
<>
संपादित करें:
मैंने किया था के रूप में @Sam सुझाव दिया और निम्न कोड का प्रयोग किया:
lv1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (touchSource == null) {
touchSource = v;
}
if (v == touchSource) {
lv2.dispatchTouchEvent(event);
if (event.getAction() == MotionEvent.ACTION_UP) {
clickSource = v;
touchSource = null;
}
}
return false;
}
});
lv1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if (parent == clickSource) {
//my own code here
}
}
});
lv1.setOnScrollListener(new OnScrollListener() {
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (view == clickSource) {
}
boolean loadMore = /* maybe add a padding */
firstVisibleItem + visibleItemCount + 10 >= totalItemCount;
if (loadMore) {
//add items, load more
}
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
});
lv2.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (touchSource == null) {
touchSource = v;
}
if (v == touchSource) {
lv1.dispatchTouchEvent(event);
if (event.getAction() == MotionEvent.ACTION_UP) {
clickSource = v;
touchSource = null;
}
}
return false;
}
});
lv2.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if (parent == clickSource) {
}
}
});
lv2.setOnScrollListener(new OnScrollListener() {
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (view == clickSource) {
}
boolean loadMore = /* maybe add a padding */
firstVisibleItem + visibleItemCount + 2 >= totalItemCount;
if (loadMore) {
}
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
});
मैं स्टैगर्ड प्रभाव बनाने के लिए सूचियों में से एक पर शीर्षलेख का भी उपयोग कर रहा हूं और मुझे हर कीमत पर इस स्टैगर को रखने की आवश्यकता है। यह ज्यादातर काम कर रहा है (उपर्युक्त कोड) लेकिन यह बहुत समय से unsyncs। मैंने यह पता लगाया है कि यह केवल तभी होता है जब मेरे पास छोटे छोटे स्वाइप होते हैं। मुझे यकीन नहीं है क्यों, और मुझे एक अच्छा समाधान नहीं मिल रहा है। ऐसा लगता है कि उपर्युक्त तर्क काम करना चाहिए।
इसके अलावा, अगर यह मायने रखता है, तो मैं फ़ोटो लोड करने के लिए यूनिवर्सल इमेजलोडर का उपयोग कर रहा हूं और अधिक तस्वीरें लोड करने के लिए एक सरल एंडलेस स्क्रॉल तर्क (सीधे adapter.notifyDataSetChanged()) को कॉल कर रहा हूं। हालांकि यह सामान बहुत प्रासंगिक प्रतीत नहीं होता है। यहां तक कि जब फ़ोटो लोड हो जाती हैं, तब भी मैं इसे असंसमित देख सकता हूं।
मैं स्पष्ट होना चाहता हूं: यदि मैं छोटी स्वाइप करता हूं (और कभी-कभी केवल सामान्य बार-बार स्क्रॉलिंग में) मैं इच्छानुसार सूचियों को रद्द कर सकता हूं।
किसी भी मदद की सराहना की जाती है। धन्यवाद।
संपादित करें 2:
फिर भी एक अच्छा समाधान खोजने के लिए।
- ऊपर समाधान: unsyncs अभी तक भी अक्सर
- Pinterest List View: कोई OnScrollListener/onItemClick भेदभाव
- StaggeredGridView: नहीं onScrollListener
- Stag Project यहाँ समाधान है कि मैं पाया है नहीं काफी काम करना है कि कर रहे हैं : नहीं onItemClick श्रोता
- Linear Layout Method: नहीं onItemClick श्रोता
कोई विचार? धन्यवाद।
स्पष्ट रूप से Pinterest इस तरह के एक लेआउट का उपयोग करता है, यदि आप यहां ["एंड्रॉइड पिन रुचि"] (http://stackoverflow.com/search?q= [android] + pinterest) के लिए स्टैक ओवरफ़्लो पर खोज करते हैं तो आप विभिन्न दृष्टिकोण पा सकते हैं। – Sam
हां, मुझे एहसास है कि। मैं भी बहुत कुछ शोध कर रहा हूं। मुझे वास्तव में Pinterest स्टाइल ग्रिड, https://github.com/vladexologija/PinterestListView पर किसी अन्य उत्तर से इस स्रोत का हिस्सा मिला, लेकिन मुझे नहीं लगता कि यह स्क्रॉल करने के लिए प्रासंगिक इटैमक्लिक और टचवेन्ट्स पर अंतर करने की मेरी समस्या को हल करता है। – Kgrover
मैंने कभी भी Pinterest ऐप का उपयोग नहीं किया है, लेकिन जब किसी ने पूछा: [एंड्रॉइड। एक साथ स्क्रॉलिंग 2 सूचीदृश्य] (http://stackoverflow.com/q/12342419/1267661) मैं ऐसे समाधान के साथ आया जो आपकी मदद कर सकता है। (यह आपके इच्छित क्लिकों को संभालता है, लेकिन कभी-कभी सिंक्रनाइज़ेशन ब्रेक ...) – Sam