[解決済み] Androidです。ListViewから子ビューにアクセスする
2022-10-22 06:49:24
質問
を使用して表示されたリスト内の1つの要素のピクセル位置を調べる必要があります。
ListView
. のいずれかを取得する必要があるようです。
TextViewの
を取得し、次に
getTop()
の子ビューを取得する方法がわからないのですが。
ListView
.
更新しました。
の子プロセスは
ViewGroup
はリストの項目と一対一で対応するわけではありません。
ListView
. その代わりに
ViewGroup
の子は、今見えているビューだけに対応します。そのため
getChildAt()
の内部のインデックスを操作します。
ViewGroup
の内部のインデックスを操作します。
ListView
が使うリストの位置とは必ずしも関係がありません。
どのように解決するのですか?
参照してください。 Android ListView: 表示されているアイテムのデータインデックスを取得する で、上記のFeetさんの回答の一部と組み合わせると、以下のようなものが得られます。
int wantedPosition = 10; // Whatever position you're looking for
int firstPosition = listView.getFirstVisiblePosition() - listView.getHeaderViewsCount(); // This is the same as child #0
int wantedChild = wantedPosition - firstPosition;
// Say, first visible position is 8, you want position 10, wantedChild will now be 2
// So that means your view is child #2 in the ViewGroup:
if (wantedChild < 0 || wantedChild >= listView.getChildCount()) {
Log.w(TAG, "Unable to get view for desired position, because it's not being displayed on screen.");
return;
}
// Could also check if wantedPosition is between listView.getFirstVisiblePosition() and listView.getLastVisiblePosition() instead.
View wantedView = listView.getChildAt(wantedChild);
この利点は、ListViewの子に対して反復処理を行わないため、パフォーマンスが低下する可能性があることです。
関連
-
[解決済み】Android "ビュー階層を作成した元のスレッドだけが、そのビューに触れることができる"
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み] 設定ページに移動せずに位置情報サービスをオンにする
-
[解決済み] アンドロイドフラグメント onRestoreInstanceState
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AndroidにおけるViewPager2の適切な実装
-
[解決済み] アンドロイドアプリのユーザーデータを消去する
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] データベースでリサイクルビューを使用する
-
[解決済み] Android端末がHDPI画面かMDPI画面かを確認する方法は?
-
[解決済み] フラグメント間の値の受け渡し方法
-
[解決済み] RecyclerViewのアイテムに波及効果を追加する
-
[解決済み] google-services.jsonって実際何してるの?
-
[解決済み] ViewPager2でスワイプを無効にするには?
-
[解決済み] Travis.yml ./gradlew : パーミッションが拒否されました。