-2

MainActivity.java

for(int i=1;i<=2;i++)
        {
            String commonId="R.id.text";
            final int index=i-1;
            commonId=commonId+i;
            Log.e("MSG",index+" "+commonId);

      Integer id= getResources().getIdentifier(commonId, "id", getPackageName());

            TextView day=(TextView)daysView.findViewById(R.id.text1);
            Log.e("MSG",id+" "+day +" "+commonId);
}

R.layout.picker

 <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:gravity="center_horizontal"
    android:layout_marginTop="10dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp">

    <TextView
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:id="@+id/text1"
        android:text="MON"
        android:textStyle="bold"
        android:textColor="#000000"
        android:gravity="center_vertical|center_horizontal"
        android:background="@drawable/circle_shape"/>

    <TextView
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:id="@+id/text2"
        android:text="TUE"
        android:textStyle="bold"
        android:textColor="#000000"
        android:layout_alignLeft="@+id/text"
        android:gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="70dp"
        android:background="@drawable/circle_shape"/>

    <TextView
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:id="@+id/text3"
        android:text="WED"
        android:textStyle="bold"
        android:textColor="#000000"
        android:layout_alignLeft="@+id/text2"
        android:gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="70dp"
        android:background="@drawable/circle_shape"/>

    <TextView
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:id="@+id/text4"
        android:text="THU"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        android:layout_alignLeft="@+id/text3"
        android:gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="70dp"
        android:background="@drawable/button_shape_select_category"/>

</RelativeLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:gravity="center_horizontal"
    android:layout_marginTop="10dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp">

    <TextView
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:id="@+id/text5"
        android:text="FRI"
        android:textStyle="bold"
        android:textColor="#000000"
        android:gravity="center_vertical|center_horizontal"
        android:background="@drawable/circle_shape"/>

    <TextView
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:id="@+id/text6"
        android:text="SAT"
        android:textStyle="bold"
        android:textColor="#000000"
        android:layout_alignLeft="@+id/text5"
        android:gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="70dp"
        android:background="@drawable/circle_shape"/>

    <TextView
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:id="@+id/text7"
        android:text="SUN"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        android:layout_alignLeft="@+id/text6"
        android:gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="70dp"
        android:background="@drawable/button_shape_select_category"/>
</RelativeLayout>

Log Printing

0 null R.id.text1 
0 null R.id.text2

This "picker" view is inflated in Activity.

i have tried this for "drawable" files and it works but not for getting view's ids. I have searched everywhere this is the syntax but not working here. app package is com.myexample.app and activity is in com.myexample.app.Activities package. I don't want to write 7 click listener on textView so i want to do in loop.

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
Shivam
  • 1
  • 2

2 Answers2

1

Simply change this

String commonId="R.id.text";

to this

String commonId="text";
Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
0

try doing like this,

for (int i=0; i<7; i++) {
   int resId = getResources().getIdentifier("text" + i, "id", getPackageName());
   TextView textView = (TextView) view.findViewById(resId);
}
Sahil Garg
  • 263
  • 1
  • 20