안 드 로 이 드 는 오늘 의 첫 번 째 간단 한 리 셋 효과 인 스 턴 스 코드 를 모방 합 니 다.

단 추 를 누 르 면 드 롭 다운 리 셋 이 자동 으로 진행 되 고 수 동 으로 리 셋 이 가능 하 며 리 셋 이 끝나 면 마지막 에 한 줄 의 데 이 터 를 더 얻 을 수 있 습 니 다.네 개의 옵션 이 있다.
这里写图片描述
이틀 전 지도 교 사 는 학부 학생 들 에 게 기관실 좌석 을 예약 하 는 앱 을 만들어 달라 고 요 구 했 는데 출발점 은 여기 서 왔 다.하 다가 많은 문제 에 부 딪 혀 모두 해결 되 었 다.이 효과 가 괜 찮 은 것 같 아 요.정리 해 주세요.
MainActivity

package com.example.fragmentmytest;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import com.example.dialog.CustomDialog;
import com.example.dialog.CustomDialogChangePwd;
import com.example.dialog.CustomDialogSignUp;
import com.example.myapplication.CustomApplication;
import com.example.utils.ToastUtils;
public class MainActivity extends FragmentActivity {
public static final String serverAddress = "http://192.168.1.101";
public static final String serverPort = "8080";
OneFragment onefragment;
TwoFragment twofragment;
ThreeFragment threefragment;
FourFragment fourfragment;
Button btn1, btn2, btn3, btn4;
OnClickListener clicklistener;
TextView stu_msg;
private CustomApplication app;
/**
*    Fragment    
*/
FragmentManager fragementManager;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
app = (CustomApplication) getApplication(); //   CustomApplication  
//     FragmentActivity   getSupportFragmentManager();    v4.app,         app   
fragementManager = getSupportFragmentManager();
init();
//          0 tab
setTabSelection(0);//           
}
public void init() {
stu_msg = (TextView) findViewById(R.id.stu_msg);
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
btn3 = (Button) findViewById(R.id.btn3);
btn4 = (Button) findViewById(R.id.btn4);
clicklistener = new OnClickListener() {
public void onClick(View arg0) {
int id = arg0.getId();
switch (id) {
case R.id.btn1:
setTabSelection(0);
break;
case R.id.btn2:
setTabSelection(1);
break;
case R.id.btn3:
setTabSelection(2);
break;
case R.id.btn4:
setTabSelection(3);
break;
default:
break;
}
}
};
btn1.setOnClickListener(clicklistener);
btn2.setOnClickListener(clicklistener);
btn3.setOnClickListener(clicklistener);
btn4.setOnClickListener(clicklistener);
}
private void setTabSelection(int index) {
clearSelection();//                  
//     Fragment  
FragmentTransaction transaction = fragementManager.beginTransaction();
//        Fragment,      Fragment         
hideFragements(transaction);
switch (index) {
case 0:
btn1.setBackgroundColor(Color.parseColor("#CFEFEF"));
btn1.setTextColor(Color.parseColor("#FFFFFF"));
app.setRoom(btn1.getText().toString());
if (onefragment == null) {
onefragment = new OneFragment();
transaction.add(R.id.framelayout, onefragment);
} else {
transaction.show(onefragment);
onefragment.mPullRefreshListView.setRefreshing(true);
}
break;
case 1:
btn2.setBackgroundColor(Color.parseColor("#CFEFEF"));
btn2.setTextColor(Color.parseColor("#FFFFFF"));
app.setRoom(btn2.getText().toString());
if (twofragment == null) {
twofragment = new TwoFragment();
transaction.add(R.id.framelayout, twofragment);
} else {
transaction.show(twofragment);
twofragment.mPullRefreshListView.setRefreshing(true);
}
break;
case 2:
btn3.setBackgroundColor(Color.parseColor("#CFEFEF"));
btn3.setTextColor(Color.parseColor("#FFFFFF"));
app.setRoom(btn3.getText().toString());
if (threefragment == null) {
threefragment = new ThreeFragment();
transaction.add(R.id.framelayout, threefragment);
} else {
transaction.show(threefragment);
threefragment.mPullRefreshListView.setRefreshing(true);
}
break;
case 3:
btn4.setBackgroundColor(Color.parseColor("#CFEFEF"));
btn4.setTextColor(Color.parseColor("#FFFFFF"));
app.setRoom(btn4.getText().toString());
if (fourfragment == null) {
fourfragment = new FourFragment();
transaction.add(R.id.framelayout, fourfragment);
} else {
transaction.show(fourfragment);
fourfragment.mPullRefreshListView.setRefreshing(true);
}
break;
default:
break;
}
transaction.commit();
}
/**
*           。
*/
private void clearSelection() {
btn1.setBackgroundColor(Color.parseColor("#EFEFEF"));
btn1.setTextColor(Color.parseColor("#234567"));
btn2.setBackgroundColor(Color.parseColor("#EFEFEF"));
btn2.setTextColor(Color.parseColor("#234567"));
btn3.setBackgroundColor(Color.parseColor("#EFEFEF"));
btn3.setTextColor(Color.parseColor("#234567"));
btn4.setBackgroundColor(Color.parseColor("#EFEFEF"));
btn4.setTextColor(Color.parseColor("#234567"));
}
/**
*     Fragment       。
* 
* @param transaction
*    Fragment       
*/
private void hideFragements(FragmentTransaction transaction) {
if (onefragment != null) {
transaction.hide(onefragment);
}
if (twofragment != null) {
transaction.hide(twofragment);
}
if (threefragment != null) {
transaction.hide(threefragment);
}
if (fourfragment != null) {
transaction.hide(fourfragment);
}
}
}
네 개의 Fragment 모두 차이 가 많 지 않 습 니 다.여기 가 첫 번 째 입 니 다.

package com.example.fragmentmytest;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import com.example.adapter.MyAdapter;
import com.example.dao.ComputerRoomStatus;
import com.example.utils.ToastUtils;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
public class OneFragment extends Fragment {
String room = "204";
public PullToRefreshListView mPullRefreshListView;
// private ArrayAdapter<String> mAdapter;
private int mItemCount = 9;
// private LinkedList<String> mListItems;
private MyAdapter mAdapter;
private List<ComputerRoomStatus> data;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceStatus) {
View view = inflater.inflate(R.layout.twolayout, container, false);
mPullRefreshListView = (PullToRefreshListView) view
.findViewById(R.id.pull_refresh_list_2);
mPullRefreshListView.setMode(Mode.PULL_FROM_START);
return view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onViewCreated(view, savedInstanceState);
initDatas();
// mAdapter1 = new MyAdapter(getActivity(), data);
mAdapter = new MyAdapter(getActivity(), data, room,mPullRefreshListView);
mPullRefreshListView.setAdapter(mAdapter);
mPullRefreshListView
.setOnRefreshListener(new OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(
PullToRefreshBase<ListView> refreshView) {
Log.e("TAG", "onPullDownToRefresh");
//           
new GetDataTask().execute();
}
@Override
public void onPullUpToRefresh(
PullToRefreshBase<ListView> refreshView) {
Log.e("TAG", "onPullUpToRefresh");
//             
new GetDataTask().execute();
}
});
mPullRefreshListView.setRefreshing(true);
}
private void initDatas() {
//          
data = new ArrayList<ComputerRoomStatus>();
for (int i = 0; i < mItemCount; i++) {
data.add(new ComputerRoomStatus(i, "1", "1", "3", "1", "1", "1"));
}
}
protected void autoRefresh() {
mPullRefreshListView.setRefreshing(true);
}
//       ,        
private class GetDataTask extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... params) {
try {
// TODO   json
Thread.sleep(1000);
} catch (InterruptedException e) {
}
return "" + (mItemCount++);
}
@Override
protected void onPostExecute(String result) {
// data.add(new
// ComputerRoomStatus(1,result,result,result,result,result,result));
data.add(new ComputerRoomStatus(Integer.parseInt(result), "", "",
"3", "1", "1", "1"));
mAdapter.notifyDataSetChanged();
mPullRefreshListView.onRefreshComplete();
}
}
}
MyAdapter

package com.example.adapter;
import java.util.List;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import com.example.dao.ComputerRoomStatus;
import com.example.dialog.CustomDialogOrder;
import com.example.fragmentmytest.R;
import com.example.utils.ToastUtils;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
public class MyAdapter extends BaseAdapter {
private Context context;
private List<ComputerRoomStatus> data;
private LayoutInflater layoutInflater;
private String room;
private ViewHolder holder = null;
private PullToRefreshListView mPullRefreshListView;
public MyAdapter(Context context, List<ComputerRoomStatus> data, String room,PullToRefreshListView mPullRefreshListView) {
this.context = context;
this.data = data;
this.room = room;
this.mPullRefreshListView = mPullRefreshListView;
layoutInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int position) {
return data.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
holder = new ViewHolder();
convertView = layoutInflater.inflate(R.layout.lv_item, null);
holder.seatId = (TextView) convertView.findViewById(R.id.seatId);
holder.time1 = (Button) convertView.findViewById(R.id.time1);
holder.time2 = (Button) convertView.findViewById(R.id.time2);
holder.time3 = (Button) convertView.findViewById(R.id.time3);
holder.time4 = (Button) convertView.findViewById(R.id.time4);
holder.time5 = (Button) convertView.findViewById(R.id.time5);
holder.time6 = (Button) convertView.findViewById(R.id.time6);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
//           
final ComputerRoomStatus s = data.get(position);
holder.seatId.setText(s.getId() + "");
holder.time1.setOnClickListener(new lvButtonListener(position));
holder.time2.setOnClickListener(new lvButtonListener(position));
holder.time3.setOnClickListener(new lvButtonListener(position));
holder.time4.setOnClickListener(new lvButtonListener(position));
holder.time5.setOnClickListener(new lvButtonListener(position));
holder.time6.setOnClickListener(new lvButtonListener(position));
//        ......
return convertView;
}
class lvButtonListener implements View.OnClickListener {
private int position;
lvButtonListener(int pos) {
position = pos;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.time1:
showDialog(position, "1");
break;
case R.id.time2:
showDialog(position, "2");
break;
case R.id.time3:
showDialog(position, "3");
break;
case R.id.time4:
showDialog(position, "4");
break;
case R.id.time5:
showDialog(position, "5");
break;
case R.id.time6:
showDialog(position, "6");
break;
default:
break;
}
}
}
public void showDialog(final int id, final String witch) {
final CustomDialogOrder.Builder builder = new CustomDialogOrder.Builder(
context);
builder.setTitle("    ");
builder.setPositiveButton("  ", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
//        application room position witch
ToastUtils.MyToast(context, room + ":" + id + ":" + witch);
//TODO       GET      
//TODO           
mPullRefreshListView.setRefreshing(true);
}
});
builder.setNegativeButton("  ",
new android.content.DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
}
class ViewHolder {
TextView seatId;
Button time1, time2, time3, time4, time5, time6;
}
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 안 드 로 이 드 가 오늘 톱기사 의 간단 한 리 셋 효과 인 스 턴 스 코드 에 관 한 지식 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.소 편 은 제때에 여러분 에 게 답 할 것 입 니 다.그리고 이것 도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기