fragment
package com.example.day8.morning;
import android.annotation.SuppressLint;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.example.day8.R;
import java.util.ArrayList;
import java.util.List;
public class MA extends AppCompatActivity {
private ListView lv;
private MyAdapter aaa;
//存放student集合
private List<Student> list=new ArrayList<>( );
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_m);
lv=findViewById(R.id.ma_list);
for (int i = 0; i < 10; i++) {
Student student = new Student();
student.setName("罗罗诺亚"+(i+1)+"龙");
student.setIcon(R.mipmap.ic_launcher);
student.setPhone(i);
list.add(student);
}
aaa = new MyAdapter(list, this);
lv.setAdapter(aaa);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
if( position==0){
AlertDialog.Builder builder = new AlertDialog.Builder(MA.this);
builder.setIcon(R.mipmap.ic_launcher_round);
builder.setTitle("标题。").setMessage(list.get(position).toString());
builder.create().show();
}
if( position==1){
DatePickerDialog dpd = new DatePickerDialog(MA.this);
dpd.setOnDateSetListener(new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
}
});
dpd.create();
dpd.show();
}
if( position==3){
final MyDialog myDialog = new MyDialog(MA.this, aaa, list);
myDialog.setYesOnclickListener(new MyDialog.onYesOnclickListener() {
@Override
public void onYesOnclick() {
list.remove(position);
aaa.notifyDataSetChanged();
myDialog.cancel();
}
});
myDialog.setNoOnclickListener(new MyDialog.onNoOnclickListener() {
@Override
public void onNoClick() {
myDialog.dismiss();
}
});
myDialog.create();
myDialog.show();
}
}
});
}
}
/**
* 自定义适配器类
*/
class MyAdapter extends BaseAdapter{
private List<Student > list=new ArrayList<>();
private Context con;
public MyAdapter(List<Student> list, Context con) {
this.list = list;
this.con = con;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
private ImageView listImage;
private TextView listName;
private TextView listPhone;
private MyId mi;
@SuppressLint("ViewHolder")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if( convertView==null) {
convertView = LayoutInflater.from(con).inflate(R.layout.mp_list_layout, null);
mi=new MyId();
mi.icon = (ImageView) convertView.findViewById(R.id.list_image);
mi.name = (TextView) convertView.findViewById(R.id.list_name);
mi.phone = (TextView) convertView.findViewById(R.id.list_phone);
convertView.setTag(mi);
}else{
mi= (MyId) convertView.getTag();
}
mi.phone.setText(list.get(position).getPhone()+"");
mi.name.setText(list.get(position).getName());
mi.icon.setImageResource(list.get(position).getIcon());
return convertView;
}
class MyId{
private TextView name,phone;
private ImageView icon;
}
}
/**
* 自定义Dialog
*/
class MyDialog extends Dialog{
private Button sure,unsure;
private MyAdapter aaa;
private List<Student> list;
private onNoOnclickListener noOnclickListener;//取消按钮被点击了的监听器
private onYesOnclickListener yesOnclickListener;//确定按钮被点击了的监听器
public MyDialog(Context context,MyAdapter aaa,List<Student> list) {
super(context);
this.aaa=aaa;
this.list=list;
}
public void setYesOnclickListener(onYesOnclickListener yesOnclickListener) {
this.yesOnclickListener = yesOnclickListener;
}
public void setNoOnclickListener(onNoOnclickListener noOnclickListener) {
this.noOnclickListener = noOnclickListener;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mp_mydialog_layout);
sure=findViewById(R.id.myDialog_button_sure);
unsure=findViewById(R.id.myDialog_button_unsure);
setCanceledOnTouchOutside(true);
sure.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if( yesOnclickListener!=null){
yesOnclickListener.onYesOnclick();
}
}
});
unsure.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if( noOnclickListener!=null){
noOnclickListener.onNoClick();
}
}
});
}
public interface onNoOnclickListener {
public void onNoClick();
}
public interface onYesOnclickListener {
public void onYesOnclick();
}
}
/**
* student
*/
class Student{
private String name;
private int icon;
private long phone;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIcon() {
return icon;
}
public void setIcon(int icon) {
this.icon = icon;
}
public long getPhone() {
return phone;
}
public void setPhone(long phone) {
this.phone = phone;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", icon=" + icon +
", phone=" + phone +
'}';
}
}
对应的布局
<?xml version="1.0" encoding="utf-8"?>
</LinearLayout>
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/ap_viewPager"
android:layout_above="@id/ap_linear"
>
</android.support.v4.view.ViewPager>
### activity
package com.example.day8.morning;
import android.annotation.SuppressLint;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.example.day8.R;
import com.example.day8.morning.Fragment.MyFragment;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
public class MC_activity extends AppCompatActivity {
private ViewPager vp;
private List<Fragment> list=new ArrayList<>();
private int[] arr;
private int index;
@SuppressLint("HandlerLeak")
private Handler han=new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mc_activity);
arr=new int[]{R.mipmap.image1,R.mipmap.image2,R.mipmap.image3,R.mipmap.image4,R.mipmap.image5};
vp=findViewById(R.id.mc_viewPager);
for (int i = 0; i < 5; i++) {
MyFragment myFragment = new MyFragment();
Bundle bundle = new Bundle();
bundle.putInt("image",arr[i]);
myFragment.setArguments(bundle);
list.add(myFragment);
}
vp.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int i) {
return list.get(i);
}
@Override
public int getCount() {
return list.size();
}
});
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
han.post(new Runnable() {
@Override
public void run() {
vp.setCurrentItem(index);
}
});
index++;
if( index>=list.size()){
index=0;
}
}
},0,1000);
}
}
中午练习
package com.example.day8.afternoon;
import android.media.Image;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.example.day8.R;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
public class AP_activity extends AppCompatActivity {
private ViewPager vp;
private List<String> list;
private List<Integer> image=new ArrayList<>();
private Handler han=new Handler();
private LinearLayout ll;
private List<ImageView> image2=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ap_activity);
vp=findViewById(R.id.ap_viewPager);
ll=findViewById(R.id.ap_linear);
list=new ArrayList<>();
for (int i = 0; i < 4; i++) {
list.add(""+i+i+i+i+i+i+i+i);
}
image.add(R.mipmap.image1);
image.add(R.mipmap.image2);
image.add(R.mipmap.image3);
image.add(R.mipmap.image4);
vp.setAdapter(new MyAdapter());
//添加小圆点
for (int i = 0; i < 4; i++) {
ImageView iv = new ImageView(AP_activity.this);
if(i==0) {
iv.setImageResource(R.drawable.button_true);
}else{
iv.setImageResource(R.drawable.button_false);
}
ll.addView(iv);
image2.add(iv);
}
Timer timer = new Timer();
timer.schedule(new TimerTask() {
int index=0;
@Override
public void run() {
han.post(new Runnable() {
@Override
public void run() {
vp.setCurrentItem(index);
}
});
index++;
if( index>=list.size()){
index=0;
}
}
},0,1000*3);
vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
Toast.makeText(AP_activity.this, "切换到了第"+i+"个位置。", Toast.LENGTH_SHORT).show();
for (int i1 = 0; i1 < image2.size(); i1++) {
if( i1==i){
image2.get(i).setImageResource(R.drawable.button_true);
}else{
image2.get(i1).setImageResource(R.drawable.button_false);
}
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
}
class MyAdapter extends PagerAdapter{
@Override
public int getCount() {
return list.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
return view==o;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
View inflate = View.inflate(AP_activity.this, R.layout.ap_mylayout, null);
ImageView pic = inflate.findViewById(R.id.ap_layout_image);
TextView viewById = inflate.findViewById(R.id.ap_layout_text);
pic.setImageResource(image.get(position));
viewById.setText(list.get(position));
container.addView(inflate);
return inflate;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
// super.destroyItem(container, position, object);
container.removeView((View) object);
}
}
}