0

カスタムリストビューが必要なアプリに取り組んでいます...

リストビューは、ある種の垂直ギャラリーのように機能する必要があります。ギャラリーでは、選択したアイテムは常に中央にあります。

私のアプリでは、ナビゲーションキーのみまたはリモコンを使用しています。したがって、フリングや通常のスクロール効果はありません。

たとえば、リストの2番目の要素を常に選択する必要があります。上に移動したい場合は、すべての要素を1つ上にスクロールし、選択したアイテムを変更する必要がありますが、前に選択したアイテムと同じように画面上の同じ場所にあります。

縦向きのギャラリーと同じです。

これを行う簡単な方法はありますか?垂直ギャラリーの実装はありますか?ギャラリーウィジェットを垂直にするにはどうすればよいですか?または、そのように動作するようにリストビューをカスタマイズする方法は?

Tnx!

4

3 に答える 3

2

ListViewでonClickリスナーを設定してみてください

ListView listView1=(ListView) findViewById(R.id.listView1);

次に、クラスクラスを実装しますSearchItemClickListenerはOnItemClickListenerを実装します

listview.onItemClickListenrを設定すると、位置とビューが取得されます。

        Hope this helps
于 2013-01-21T11:06:14.317 に答える
0

次を使用して、現在表示されている最初の位置を取得できます。

mListView.getFirstVisiblePosition(); 

現在の表示位置とそれぞれのデータを取得した後、目的のタスクを実行できます(つまり、サムネイルなどを取得した後に大きな画像を表示します)。

また

最初または最後の位置だけに依存せず、他の表示されている行を選択したい場合は、次のようにすることができます。

   public View getView(int position, View convertView, ViewGroup parent)
    {

        int visiblePosition = position % nObjects; // nObjects if the total number of objects to display

        if(visiblePosition == yourDesiredPosition){

         // do your custom work here.

        }

    }

これが垂直スライドショーのデモです、

これにより、機能の実装に関するヒントが得られることを願っています。

于 2013-01-21T11:36:19.143 に答える
0

これは、ListViewアイテムでsetSelected()メソッドを使用して管理し、キーリスナーを管理しました。これを処理するためのよりスマートな方法が見つかりませんでした。

于 2013-03-05T10:34:40.990 に答える