在活动中编写代码扩展Fragment?
问题描述:
enter image description hereenter image description here任何人都可以请告诉我在哪里写代码listView
,以便活动扩展片段将它读取。有onCreateView
,在那里我listview
,但仍然不读它。 正如你所看到的,我已经评论过很少的方法,因为它没有读取它。请告诉我在哪里编写代码以获得输出。以下是我的代码。在活动中编写代码扩展Fragment?
public class Tab1 extends Fragment {
PendingPickupBEAN pendingPickup=new PendingPickupBEAN();
public static final List<PendingPickupBEAN> refer=new ArrayList<PendingPickupBEAN>();
ListView listview;
CustomListView customListView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*listview= (ListView) findViewById(R.id.listTab1);
customListView = new CustomListView(getContext(),R.layout.list_item,DashboardActivity.listBeanobj);
Log.e(TAG,"=======CUSTOM LIST VIEW ========");
listview.setAdapter(customListView);*/
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// final ArrayList<PendingPickupBEAN> listPending = (ArrayList<PendingPickupBEAN>) getIntent().getSerializableExtra("ARRAYLIST");
Log.e(TAG,"Pending piclup list : listbeanobj " + DashboardActivity.listBeanobj.size());
View view= inflater.inflate(R.layout.activity_tab1, container, false);
return view;
listview=(ListView) view.findViewById(R.id.listTab1);
customListView = new CustomListView(getContext(),R.layout.list_item,DashboardActivity.listBeanobj);
Log.e(TAG,"=======CUSTOM LIST VIEW ========");
listview.setAdapter(customListView);
}
public class CustomListView extends ArrayAdapter<PendingPickupBEAN> {
/* ArrayAdapter<PendingPickupBEAN> adapter=new ArrayAdapter<PendingPickupBEAN>
(Tab1.this,R.layout.list_item_accepted,refer);*/
ArrayAdapter<PendingPickupBEAN> adapter=new ArrayAdapter<PendingPickupBEAN>
(getContext(),R.layout.list_item_accepted,refer);
Context context;
LayoutInflater inflater;
List<PendingPickupBEAN> obj;
public CustomListView(Context context, int resourceId,
List<PendingPickupBEAN> obj) {
super(context,resourceId,obj);
this.context=context;
this.obj=obj;
inflater=LayoutInflater.from(context);
}
private class ViewHolder {
TextView txt_pickupID;
TextView txt_address;
Button btn_Accept;
Button btn_Decline;
}
public View getView(final int position, View view, final ViewGroup parent) {
final CustomListView.ViewHolder holder;
if (view == null) {
holder = new CustomListView.ViewHolder();
view = inflater.inflate(R.layout.list_item, null);
holder.txt_pickupID=(TextView) view.findViewById(R.id.pickupID);
holder.txt_address = (TextView) view.findViewById(R.id.address);
holder.btn_Accept = (Button) view.findViewById(R.id.btnAccept);
holder.btn_Decline = (Button) view.findViewById(R.id.btnDecline);
holder.txt_pickupID = (TextView) view.findViewById(R.id.pickupID);
holder.txt_address = (TextView) view.findViewById(R.id.address);
holder.btn_Accept = (Button) view.findViewById(R.id.btnAccept);
holder.btn_Decline = (Button) view.findViewById(R.id.btnDecline);
view.setTag(holder);
} else {
holder = (CustomListView.ViewHolder) view.getTag();
}
holder.txt_pickupID.setText(obj.get(position).getPickupID());
holder.txt_address.setText(obj.get(position).getAddress());
holder.btn_Accept.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
holder.btn_Decline.setText("FORWARD");
holder.btn_Accept.setText("ACCEPTED");
holder.btn_Accept.setBackgroundResource(R.color.colorAccept);
pendingPickup.setPickupID(holder.txt_pickupID.getText().toString());
Log.d(TAG, "= chk value isn't set or not====" + pendingPickup.getPickupID());
pendingPickup.setAccept_Decline(holder.btn_Accept.getText().toString());
Log.d(TAG, "== chk value isn't set or not===" + pendingPickup.getAccept_Decline());
//===============
String value = holder.txt_pickupID.getText().toString();
String buttonText = holder.btn_Accept.getText().toString();
Log.d(TAG, "===" + buttonText + " " + value);
new ExecuteTask().execute();
//=============
PendingPickupBEAN beanOBJ = new PendingPickupBEAN();
beanOBJ.setPickupID(holder.txt_pickupID.getText().toString());
beanOBJ.setAccept_Decline(holder.btn_Accept.getText().toString());
refer.add(beanOBJ);
//refer.add(holder.txt_pickupID.getText().toString());
Log.d(TAG,"=======Size of refer array in same clas button====" +refer.size());
adapter.notifyDataSetChanged();
}
});
holder.btn_Decline.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder=new AlertDialog.Builder(getContext());
builder.setTitle("Alert!!!");
builder.setMessage("Are you Sure?");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
holder.btn_Accept.setEnabled(false);
holder.btn_Decline.setText("DECLINED");
holder.btn_Decline.setBackgroundResource(R.color.colorDecline);
holder.btn_Decline.setClickable(true);
// finish();
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
holder.btn_Accept.setEnabled(true);
holder.btn_Decline.setText("DECLINE");
holder.btn_Decline.setClickable(true);
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
/* value = holder.txt_pickupID.getText().toString();
buttonText = holder.btn_Decline.getText().toString();
Log.d(TAG, "===" + buttonText + " " + value);*/
pendingPickup.setPickupID(holder.txt_pickupID.getText().toString());
Log.d(TAG, "= chk value isn't set or not====" + pendingPickup.getPickupID());
pendingPickup.setAccept_Decline(holder.btn_Decline.getText().toString());
Log.d(TAG, "== chk value isn't set or not===" + pendingPickup.getAccept_Decline());
new ExecuteTask().execute();
}
});
return view;
}
}
public class ExecuteTask extends AsyncTask<Void,Void,Void> {
int updateResponse;
@Override
protected Void doInBackground(Void... params) {
String[] values = { pendingPickup.getAccept_Decline(), pendingPickup.getPickupID()};
Log.d(TAG,"ACCEPT/DECLINE== "+ pendingPickup.getAccept_Decline());
Log.d(TAG,"PICKUPID ===" + pendingPickup.getPickupID());
try {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(
JsonURLPath.JSONURL + "/setPickupAcceptDeclineUpdate");
List<NameValuePair> list = new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("accept_decline", values[0]));
list.add(new BasicNameValuePair("pickupid", values[1]));
httpPost.setEntity(new UrlEncodedFormEntity(list));
HttpResponse response = httpClient.execute(httpPost);
updateResponse = response.getStatusLine().getStatusCode();
} catch (Exception e) {
Log.e(TAG, " in Catch block ");
e.printStackTrace();
}
return null;
}
@Override
public void onPostExecute(Void rs) {
Log.e(TAG, "1----------post execute--");
super.onPostExecute(rs);
}
}
}
答
尝试这种方式
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view= inflater.inflate(R.layout.activity_tab1, container, false);
final ArrayList<PendingPickupBEAN> listPending = (ArrayList<PendingPickupBEAN>)getActivity().getIntent().getSerializableExtra("ARRAYLIST");
// Log.e(TAG,"Pending piclup list : listbeanobj " + DashboardActivity.listBeanobj.size());
listview=(ListView) view.findViewById(R.id.listTab1);
customListView = new CustomListView(getActivity(),R.layout.list_item,DashboardActivity.listBeanobj);
Log.e(TAG,"=======CUSTOM LIST VIEW ========");
listview.setAdapter(customListView);
return view;
}
答
我觉得你最后调用如上
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// final ArrayList<PendingPickupBEAN> listPending = (ArrayList<PendingPickupBEAN>) getIntent().getSerializableExtra("ARRAYLIST");
Log.e(TAG,"Pending piclup list : listbeanobj " + DashboardActivity.listBeanobj.size());
View view= inflater.inflate(R.layout.activity_tab1, container, false);
listview=(ListView) view.findViewById(R.id.listTab1);
customListView = new CustomListView(getContext(),R.layout.list_item,DashboardActivity.listBeanobj);
Log.e(TAG,"=======CUSTOM LIST VIEW ========");
listview.setAdapter(customListView);
return view; //here
}
我做到了。但它显示空白的活动。毫无产出预期收益。 – Demo