具体的なInflatedView Androidのメーカーを取得

ベン・ガードナー:

これは私の item_simple_itemview.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="8dp">

    <TextView
        android:id="@+id/simple_text"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        tools:text="Test"
        android:text="This is some temp text" />

    <Button
        android:id="@+id/btn"
        android:layout_width="208dp"
        android:layout_height="50dp"
        android:layout_marginTop="16dp"
        android:minWidth="10dip"
        android:minHeight="10dip"
        android:onClick="onChangeClick" />

</LinearLayout>

私が作成したRecyclerView彼らは、リスト内の「アイテム」はあるとして、このxmlファイルの複数のインスタンスで。

私は、onChangeClick次のとおりです。

public void onChangeClick(View view) {
        View inflatedView = getLayoutInflater().inflate(R.layout.item_simple_itemview, null);

        TextView textView = inflatedView.findViewById(R.id.simple_text);
        Toast.makeText(getApplicationContext(), (CharSequence) ("Text: " + textView.getText()), 
            Toast.LENGTH_SHORT);
}

私はプログラム的にインスタンスを追加item_simple_itemviewするのをRecyclerView、とのテキストを変更simple_textしてbtn私は、個々の項目のボタン上のボタンをクリックすると、しかし、私はトースト通知を取得しますText: this is some temp text

どのように私は、テキストはアイテムではなく、ベースxmlファイル自体の特定のインスタンスを参照するのですか?

CommonsWare:

android:onClickあなたがそれを使用しているように、ある古代あなたは、私はそれが年間で使用さ見ていないした後、今日それを見ていることが二度目です。具体的には、android:onClickあなたがあなたの上に実装することをメソッドへのルートのクリックイベントをActivityそれは、特に柔軟ではありません。

そして、あなたのケースでは、あなたはN個のボタンを持っている場合は、それらのNボタンのそれぞれは、同じメソッドを呼び出します。あなたが得る一方でView、パラメータとして自分のメソッドに渡され、それはあなたにどの行を識別するために役立つが、すべてのことに限らないRecyclerViewクリックされたものです。

私は削除をお勧めしますandroid:onClickその代わり、でonBindViewHolder()、あなたの仕事の一部として、呼び出しsetOnItemClickListener()ButtonOnClickListenerあなたがそこに参照することができます使用していること(またはラムダ式)positionに渡されるパラメータonBindViewHolder()あなたが作る場合、position可能finalそうすれば、あなたのクリックハンドラはへの直接アクセスを持ちposition、そこから、あなたはそのリストに何特定の項目を見つけることができますpositionが対応します。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=371048&siteId=1
おすすめ