You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

165 lines
5.7 KiB

package com.example.app1;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.List;
public class personFragment extends Fragment {
private ListView listNew;
private TextView clockTextView;
private final Handler handler = new Handler(Looper.getMainLooper());
private List<Map<String,Object>> lists;
private SimpleAdapter adapter;
private int[][] iv={{R.drawable.gequ1,R.drawable.gequ2,R.drawable.gequ3,R.drawable.gequ4,R.drawable.gequ5},
{R.drawable.gequ1,R.drawable.gequ2,R.drawable.gequ3,R.drawable.gequ4,R.drawable.gequ5},
{R.drawable.gequ1,R.drawable.gequ2,R.drawable.gequ3,R.drawable.gequ4,R.drawable.gequ5},
{R.drawable.gequ1,R.drawable.gequ2,R.drawable.gequ3,R.drawable.gequ4,R.drawable.gequ5}};
private String[][] zuopin={{"作品1","作品2","作品3","作品4","作品5"},
{"作品11","作品12","作品13","作品14","作品15"},
{"作品21","作品22","作品23","作品24","作品25"},
{"作品31","作品32","作品33","作品34","作品35"}};
private String[][]zuozhe={{"作者1","作者2","作者3","作者4","作者5"},
{"作者11","作者12","作者13","作者14","作者15"},
{"作者21","作者22","作者23","作者24","作者25"},
{"作者31","作者32","作者33","作者34","作者35"}};
Button button1,button2,button3,button4;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_person, container, false);
init(view);
// 绑定 TextView
clockTextView = view.findViewById(R.id.clockTextView);
// 启动时钟更新线程
updateClock();
return view;
}
private void updateClock() {
Thread thread = new Thread() {
@Override
public void run() {
try {
while (!isInterrupted()) {
long currentTimeMillis = System.currentTimeMillis();
SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss", Locale.getDefault());
String currentTime = timeFormat.format(new Date(currentTimeMillis));
handler.post(() -> clockTextView.setText(currentTime));
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
thread.start();
}
private void init(View view) {
listNew = view.findViewById(R.id.list_new);
button1 = view.findViewById(R.id.bu1);
button2 = view.findViewById(R.id.bu2);
button3 = view.findViewById(R.id.bu3);
button4 = view.findViewById(R.id.bu4);
//监听器
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int data = getDataFromView(view);
updateListView(data);
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int data = getDataFromView(view);
updateListView(data);
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int data = getDataFromView(view);
updateListView(data);
}
});
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int data=getDataFromView(view);
updateListView(data);
}
});
}
public int getDataFromView(View view) {
if (view.getId() == R.id.bu1) {
return onClick(view);
} else if (view.getId() == R.id.bu2) {
return onClick(view);
} else if (view.getId() == R.id.bu3) {
return onClick(view);
} else if (view.getId() == R.id.bu4) {
return onClick(view);
}
return 0;
}
//适配器
public void updateListView(int data) {
lists=new ArrayList<>();
for(int i=0;i<zuopin[data].length;i++){
Map<String,Object>map=new HashMap<>();
map.put("iv",iv[data][i]);
map.put("zuopin",zuopin[data][i]);
map.put("zuozhe",zuozhe[data][i]);
lists.add(map);
}
adapter=new SimpleAdapter(requireContext(),lists,R.layout.item_person
,new String[]{"iv","zuopin","zuozhe"}
,new int[]{R.id.iv,R.id.zuopin,R.id.zuozhe});
listNew.setAdapter(adapter);
}
@SuppressLint("ResourceAsColor")
public int onClick(View view) {
if (view.getId() == R.id.bu1) {
return 0;
} else if (view.getId() == R.id.bu2) {
return 1;
} else if (view.getId() == R.id.bu3) {
return 2;
} else if (view.getId() == R.id.bu4) {
return 3; }
return 0;
}
}