使用RecyclerView和GridView
布局文件:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/fjm"
android:layout_width="match_parent"
android:layout_height="50dp"/>
<GridView
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="2"//设置一行两个
/>
代码:
public void recy(){
List<String>m=new ArrayList<>();
m.add("Living Room");m.add("Kitchen");m.add("Bedroom");
m.add("Washroom");m.add("Kitchen");m.add("Kitchen");
class r1 extends RecyclerView.ViewHolder{
Button b;
public r1(@NonNull @NotNull View itemView) {
super(itemView);
b=(Button)itemView.findViewById(R.id.button2);
}
}
class r2 extends RecyclerView.Adapter<r1>{
@NonNull
@NotNull
@Override
public r1 onCreateViewHolder(@NonNull @NotNull ViewGroup parent, int viewType) {
View vi=View.inflate(getActivity(),R.layout.buttonyi,null);
r1 r=new r1(vi);
return r;
}
@Override
public void onBindViewHolder(@NonNull @NotNull r1 holder, int position) {
holder.b.setText(m.get(position));
holder.b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
switch (holder.b.getText().toString()){
case "Living Room":
try {
grid.setAdapter(new gAda(ja.getJSONObject(0)));
} catch (JSONException e) {
e.printStackTrace();
}
break;
case "Kitchen":
try {