我需要帮助。 我在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>
在java文件中,我将此数组读入文件
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);
} }
在XML中我有列表代码
<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" />
但今天我想输出一个按钮而不是一个列表。如何让它更容易?
答案 0 :(得分:2)
您可以像这样创建按钮数组
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) {
}
});
答案 1 :(得分:0)
感谢您的帮助。我必须自动带上按钮。但是因为它们与数组 firstarray 相关联?要在新的Activity中传达press值,并将knock称为数组元素?
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);
}