在活动中编写代码扩展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); 

    } 


} 

} 
+0

我做到了。但它显示空白的活动。毫无产出预期收益。 – Demo

尝试这种方式

@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; 

} 
+0

我尝试了同样的方式,但没有得到输出。 – Demo

+0

'listBeanobj'的大小是多少@Demo –

+0

22个项目有 – Demo

我觉得你最后调用如上

@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 

    }