-1

I need help. I have text array in arrays.xml

 <?xml version="1.0" encoding="utf-8"?>

 <resources>
     <string-array name="firstarray">
         <item value="0">firs titem</item>
         <item value="1">second item</item>
         <item value="2">third item</item>
         <item value="3">fourth item</item>
     </string-array>
 </resources>

And in java file i read this array to file

  public class cat extends Activity {
      String [] listView;
      ArrayAdapter<String> adapter;

        @Override
      protected void onCreate(Bundle savedInstanceState) {

          super.onCreate(savedInstanceState);
          setContentView(R.layout.cat);

            listView = getResources().getStringArray(R.array.firstarray);

       } }

In XML i have List code

 <ListView
         android:layout_width="wrap_content"
         android:layout_height="439dp"
         android:id="@+id/listView"
         android:entries="@array/firstarray"
         android:layout_alignParentTop="true"
         android:layout_alignParentLeft="true"
         android:layout_alignParentStart="true"
         style="@style/Widget.AppCompat.ListView"
         android:scrollbars="none" />

But today I want to output a button instead of a list. How to make it easier?

Dr.Noname
  • 73
  • 10

2 Answers2

2

You can create button array like this

Button[] buttons=new Button[5];
final LinearLayout linearLayout=(LinearLayout)findViewById(R.id.linearLayout);

for(int i=0;i<5;i++){
            Button button=new Button(this);
            button.setText(""+i);
            button.setOnClickListener(onclicklistener);
            linearLayout.addView(button);
        }

onclicklistener = new View.OnClickListener() {

            @Override
            public void onClick(View v) {
            }
});
Muhammad chhota
  • 1,837
  • 2
  • 16
  • 27
1

Thanks for the help. I got to bring the buttons automatically. But as they are associated with an array firstarray? To convey the press value in the new Activity, and knock called as an array elements?

String[] mTestArray;
mTestArray = getResources().getStringArray(R.array.firstarray);
length =getResources().getStringArray(R.array.firstarray).length
Button[] buttons=new Button[length];
        final LinearLayout linearLayout=(LinearLayout)findViewById(R.id.buttonlayout);

        for(int i=0;i<length;i++){

            Button button=new Button(this);
            button.setId(i);
            final int id_ = button.getId();
            button.setText(mTestArray[id_]);
            button.setOnClickListener(new View.OnClickListener() {
                public void onClick(View view) {
                    Toast.makeText(view.getContext(),
                            "Button clicked index = " + id_, Toast.LENGTH_SHORT)
                            .show();
                }
            });
            linearLayout.addView(button);
        }
Dr.Noname
  • 73
  • 10