這可能是一個愚蠢的問題。Android +使用ViewFlipper在ListView中翻轉單個項目?
我知道我可以在ViewFlipper中包裝一個ListView,但是我們可以在ViewFlipper中包裝各個ListView項目嗎?例如,最新的Twitter應用程序使用ListView來顯示推文。它還允許您通過滑動tweet以暴露下面的設置選項圖標,來設置單個項目的設置。這是一個自定義實現還是我們有能力使用ListView和ViewFlipper創建類似的東西?謝謝,任何建議表示讚賞!
我花了一些這方面的時間,得到了ListView控件來顯示通過ViewFlipper附加內容。但是,該視圖似乎只是「翻轉」ListView中的最後一個項目。點擊時如何讓每個項目翻轉?下面是一些代碼:
row.xml
<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/flipper" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/toptext" android:layout_width="fill_parent"
android:layout_height="0dip" android:layout_weight="1"
android:gravity="center_vertical" />
<TextView android:id="@+id/bottomtext" android:layout_width="fill_parent"
android:layout_height="0dip" android:layout_weight="1"
android:gravity="center_vertical" />
</ViewFlipper>
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:id="@id/android:list" android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
ListActivityView.java - 擴展ListActivity
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
...
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
// doesn't matter which line is clicked
// only the last item in the ListView displays the bottomText
viewFlipper.showNext();
}
ListingAdapter.java - 擴展ArrayAdapter
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
viewFlipper = (ViewFlipper) v.findViewById(R.id.flipper);
}
我試圖做到這一點,但還沒有成功。如果我仍然無法使用它,我今晚會採取更多的措施併發布代碼。感謝您的迴應! – worked
'viewFlipper'似乎是一個成員 - 所以它總是引用'getView()'返回的最後一個項目。你需要在調用'showNext()'' – Asahi
之前在'onListItemClick()'中重新啓動它。你能否澄清一點,重新啓動它?謝謝!請注意,我將ViewFlipper換成了FrameLayout,但我仍然遇到同樣的問題。而不是「viewFlipper.showNext();」我使用自定義動畫。 – worked