1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
| public class TestClassName extends Activity {
private Button newone, nextpage;
private ListView mListView;
private MyAdapter mAdapter;
private ArrayList<Object> mList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.testclassname);
findView();
setAction();
mAdapter = new MyAdapter();
mListView.setAdapter(mAdapter);
}
private class MyAdapter extends BaseAdapter {
private ArrayList<Integer> mList;
public MyAdapter() {
mList = new ArrayList<>();
}
public void addItem(Integer i) {
mList.add(i);
}
public void removeItem(int index) {
mList.remove(index);
}
@Override
public int getCount() {
return mList.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int index = position;
View v = convertView;
Holder holder;
if (v == null) {
v = LayoutInflater.from(getApplicationContext()).inflate(R.layout.classname, null);
holder = new Holder();
holder.name = (TextView) v.findViewById(R.id.Name);
holder.delete = (TextView) v.findViewById(R.id.delete);
v.setTag(holder);
} else {
holder = (Holder) v.getTag();
}
holder.name.setOnClickListener(nameClickHandler);
holder.delete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mAdapter.removeItem(index);
mAdapter.notifyDataSetChanged();
}
});
return v;
}
class Holder {
public TextView delete;
public LinearLayout layout;
TextView name;
}
}
private OnClickListener nameClickHandler = new OnClickListener() {
@Override
public void onClick(View v) {
final TextView delBtn = (TextView) v;
final int id = delBtn.getId();
String sn = delBtn.getText().toString();
final EditText editname = new EditText(TestClassName.this);
editname.setText(sn);
new AlertDialog.Builder(TestClassName.this).setView(editname)
.setPositiveButton("確定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String Edit = editname.getText().toString();
delBtn.setText(Edit);
}
}).setNegativeButton("取消", null).setTitle("輸入班別名稱").show();
}
};
private void findView() {
newone = (Button) findViewById(R.id.newone);
nextpage = (Button) findViewById(R.id.nextpage);
mListView = (ListView) findViewById(R.id.list);
}
private void setAction() {
mListView.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
new AlertDialog.Builder(TestClassName.this).setMessage("確定要刪除?")
.setPositiveButton("確定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mAdapter.removeItem(position);
mAdapter.notifyDataSetChanged();
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
}).show();
return false;
}
});
nextpage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(TestClassName.this, CalendarPic.class);
startActivity(intent);
finish();
}
});
newone.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mAdapter.addItem(mAdapter.getCount() + 1);
mAdapter.notifyDataSetChanged();
}
});
}
}
|