2017-07-28 8 views
0

Android newbieここ、idとorderで要素を取得

私はアイテムのリストを表示するアプリケーションを持っています。各項目は次のようになります。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    style="@style/AppTheme.FrameLayout" 
    android:id="@+id/job_list_item_main_frame"> 

    <!-- cut inside code for example --> 

</FrameLayout> 

おそらく10-100件あります。別のプロセスのために最初の要素の高さを取得する必要があります。

この要素を選択するにはどうすればよいですか?

編集:それは常に私が取得する必要があるリストの最初の項目になります。しかし、個々のアイテム(idがjob_list_item_main_frameのid)を個別に選択してその位置を取得する方法があれば理想的です。

編集2:チュートリアルを進めています。画像を指すオーバーレイ矢印があります。ただし、画像の位置はリスト項目の高さによって20dp程度変化します。だから私はリストの項目に基づいて矢印の調整をする必要があります。 Recycler Viewです。それを使用しているアダプタを実際に素早くチェックしてみましょう。あなたは第三の要素を非表示にする必要がある場合は、あなたがメソッドを持っているアダプタでこの

if (position == 2) { 
    //do something here 
} 
+2

「最初の要素」とはどういう意味ですか?物理的な位置?常に最初のものになるか、実行時に位置が変わるのでしょうか?そうでなければ、私はあなたを正しく理解しています - あなたが選んだIDを持つ最初の要素の名前をつけて、コードfindViewById( "firstElement")で取得できます。あなたの質問を明確にしてください – Barackos

+1

これを表示するのに 'ListView'または' RecyclerView'を使用していますか? –

+0

@AjilO。 'RecyclerView'ですが、アプリの「チュートリアル」の部分ですので、すぐに実行されるので、削除されても何か問題はありません。 –

答えて

1

ような何かを行うことができる。例えばRecyclerView

@Override 
public void onBindViewHolder(AcceptViewHolder h, int position) { 
    //position variable can be used to modify and alter 
    //any value you want 
} 

ためのアダプタで

1

onBindViewholder(viewholder, position);

この方法では、positionが0であるかどうかを確認することができます。そうした場合は、「あなたを見る」という言葉が参考になりますd。何かのようにviewholder.yourView

このビューでは、LayoutParamsを取得し、そこからhightを得ることができます。

唯一のことは、私が間違っていない場合はhightがピクセルであることです.Dpで必要な場合は、デバイス固有の変換を行う必要があります。

さらに詳しいガイダンスが必要な場合は、アダプターを取り付けてください。

関連する問題