如何调用方法,从活动,其中片段动态创建的片段内 [英] How to Call method inside the fragment from activity where fragment dynamically created

查看:130
本文介绍了如何调用方法,从活动,其中片段动态创建的片段内的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是动态创建的片段没有xml文件,现在我想打电话从父活动的fragement内的方法,这样我怎么能做到这一点任何机构可以了解它,我发现了很多问题,但他们用XML做

Fragmentactivity

 公共类HomeActivity扩展FragmentActivity实现OnClickListener {        公共静态最后的字符串标记= HomeActivity.class.getSimpleName();
        PageIndicator mIndicator;
        //微调spinner1;
        ImageView的serversetting,下拉菜单;
        TextView的selectrange;
        INT NUM,计数器= 0;
        字符串URL,apiUser,apipass,TestAccount;
       / *公共静态的newInstance HomeActivity(){
        返回新HomeActivity();
        } * /        @覆盖
        公共无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.fragment_parent);
        ViewPager mViewPager =(ViewPager)findViewById(R.id.viewpager);
        selectrange =(的TextView)findViewById(R.id.selectrange);
        serversetting =(ImageView的)findViewById(R.id.settingsserver);
        下拉=(ImageView的)findViewById(R.id.dropdown);
        mViewPager.setAdapter(新MyAdapter(getSupportFragmentManager()));
        mIndicator =(CirclePageIndicator)findViewById(R.id.indicator);
        mIndicator.setViewPager(mViewPager);        selectrange.setOnClickListener(本);
        dropdown.setOnClickListener(本);
        serversetting.setOnClickListener(本);        / * spinner1 =(微调)findViewById(R.id.spinner1);
        清单<串GT;名单=新的ArrayList<串GT;();
        list.add(当月);
        list.add(上个月);
        list.add(最后的5天);
        list.add(过去10天);
        ArrayAdapter<串GT; DataAdapter的=新ArrayAdapter<串GT;(这一点,
            R.layout.spinner_layout,R.id.spinnerTarget,清单);
        //dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);        serversetting.setOnClickListener(本);
        spinner1.setAdapter(DataAdapter的);
        spinner1.setOnItemSelectedListener(新OnItemSelectedListener(){            @覆盖
            公共无效onItemSelected(适配器视图<>母公司,观景,INT POS机,
                    长ID){
                // TODO自动生成方法存根
                Toast.makeText(parent.getContext(),
                        OnItemSelectedListener:+ parent.getItemAtPosition(POS)的ToString()
                        Toast.LENGTH_SHORT).show();
            }            @覆盖
            公共无效onNothingSelected(适配器视图<>为arg0){
                // TODO自动生成方法存根            }
        }); * /
        }
        公共类MyAdapter扩展FragmentPagerAdapter {
        公共MyAdapter(FragmentManager FM){
            超(FM);
        }        @覆盖
        公众诠释的getCount(){
            返回3;
        }        @覆盖
        公共片段的getItem(INT位置){
           / *捆绑ARGS =新包();
            args.putInt(TextViewFragment.POSITION_KEY,位置);
            返回TextViewFragment.newInstance(参数); * /
            片f =新的片断();
            开关(位置){
                情况下0:
                    F =新SalesGraphFragment();                    打破;
                情况1:
                    F =新OrderGraphFragment();
                    打破;
                案例2:
                    F =新UserGraphFragment();
                    打破;
            }
            返回F;
        }
        / * @覆盖
        公共CharSequence的getPageTitle(INT位置){
            回归片段#+位置;
        } * /        }        @覆盖
        保护无效调用onStart()
        {
         super.onStart();
         。EasyTracker.getInstance()activityStart(本);
        }        @覆盖
        保护无效的onStop()
        {
         super.onStop();
         。EasyTracker.getInstance()activityStop(本);
        }        无效SelectRangeDialog()
        {
        最终的CharSequence [] =列表{所有时间,当月,上个月,今天,昨天};
        AlertDialog.Builder警报=新AlertDialog.Builder(HomeActivity.this);        如果(反== 0)
        {
         NUM = 1;
         反++;
        }        alert.setTitle(范围);
        alert.setPositiveButton(OK,新DialogInterface.OnClickListener(){            @覆盖
            公共无效的onClick(DialogInterface对话,诠释它){
        // TODO自动生成方法存根
                dialog.dismiss();                //selectrange.setText(list[which]);
        //新ChangeStatusAsync()执行();
            }
        });
        /*if(status.equals(\"Order挂起))
            NUM = 0;
        否则,如果(status.equals(前期收到))
            NUM = 1;
        否则,如果(status.equals(付款完成))
            NUM = 2; * /
        alert.setSingleChoiceItems(列表,NUM,新DialogInterface.OnClickListener()
        {
            @覆盖
            公共无效的onClick(DialogInterface对话,诠释其)
            {
                // NEWSTATUS =列表[它]的ToString();
                 selectrange.setText(名单[它]);
                 NUM =其中;
            }
        });
        alert.show();
      }
        @覆盖
        公共无效的onClick(视图v){
            // TODO自动生成方法存根
            开关(v.getId()){
            案例R.id.settingsserver:
                 意图设置=新意图(HomeActivity.this,SettingsActivity.class);
                 startActivity(设置);
                打破;            案例R.id.selectrange:
                SelectRangeDialog();
                打破;            案例R.id.dropdown:
                SelectRangeDialog();                打破;            默认:
                打破;
            }        }    }

片段

 公共类SalesGraphFragment扩展片段{    公共静态最后弦乐POSITION_KEY =com.burnside.embeddedfragmenttest.POSITION;
    公共静态最后弦乐TITLE_KEY =com.burnside.embeddedfragmenttest.TITLE;
    对象saleData [];
    串strSales =;
    TextView的TXT;
    公共对象B;
    清单阵列;
    公共对象[]对象;
    公共静态SalesGraphFragment实例;
    的LinearLayout布局;
    字符串的sessionId,网址,数量,apiUser,apipass,TestAccount;
    MagentoStoreLogin销售=新MagentoStoreLogin();
    公共ProgressDialog order_dialog;
    公共静态的newInstance SalesGraphFragment(捆绑参数){
    SalesGraphFragment片段=新SalesGraphFragment();
    fragment.setArguments(参数);
    ProgressDialog order_dialog;
    返回片段;
    }    @覆盖
    公共无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);    尝试{
        TestAccount = getActivity()getIntent()getExtras()的getString(TestAccount)。。。;
        如果(TestAccount == NULL)
            TestAccount =;
        如果(TestAccount.equals(TestAccount))
        {
            URL = getActivity()getIntent()getExtras()的getString(defaulturl)。;
            apiUser = getActivity()getIntent()getExtras()的getString(defaultapiuser)。。。;
            apipass = getActivity()getIntent()getExtras()的getString(defaultapipass)。。。;                的System.out.println(URL + apipass + apiUser);
        }
        其他
         {
          URL = preferenceConnector.readString(getActivity(),preferenceConnector.URL,NULL);
          的System.out.println(URL是:+网址);
          apiUser = preferenceConnector.readString(getActivity(),preferenceConnector.APIUSER,NULL);
          apipass = preferenceConnector.readString(getActivity(),preferenceConnector.APIPASS,NULL);
          新saleDetail()执行();
          新GraphValue()执行();
          的System.out.println(URL + apipass + apiUser);
         }
            如果(URL = NULL&放大器;!&安培; URL =!)
            {
                //加载首12个项目
            //计数器= 0;
             }
            其他
            {
              Toast.makeText(getActivity(),请先做API设置,1).show();
            }
        }
        赶上(例外五)
        {
            Toast.makeText(getActivity(),请你设置一个异常,1).show();
        // uName.setText();
        // password.setText();
        }
      }    公共静态SalesGraphFragment getSaleInstance()
    {
        返回实例;    }    @覆盖
    公共查看onCreateView(LayoutInflater充气器,容器的ViewGroup,捆绑savedInstanceState){
         setHasOptionsMenu(真);
    返回inflater.inflate(R.layout.sales_fragment,集装箱,FALSE);    }    @覆盖
    公共无效onViewCreated(查看视图,捆绑savedInstanceState){
    super.onViewCreated(查看,savedInstanceState);    如果(!TestAccount.equals(TestAccount))
    {
    GraphViewSeries exampleSeries =新GraphViewSeries(新GraphViewData [] {
            新GraphViewData(5,2.0D)
            ,新GraphViewData(4 1.0D)
            ,新GraphViewData(3,3.0D)//另一个频率
            ,新GraphViewData(2,2.0D)
            ,新GraphViewData(1,1.0D)
            ,新GraphViewData(0,6.0D)
    });    //图形与动态genereated水平和垂直标签
    GraphView graphView;        graphView =新LineGraphView(
                getActivity()//背景
                ,//标题
        );
    graphView.addSeries(exampleSeries); //数据//的LinearLayout布局=(的LinearLayout)findViewById(R.id.graph1);
// layout.addView(graphView);    //图形自定义标签和drawBackground
        ((LineGraphView)graphView).setDrawBackground(真);
    //自定义静态标签
// graphView.setHorizo​​ntalLabels(新的String [] {2天前,昨天,今天,明天});
// graphView.setVerticalLabels(新的String [] {高,中,低});
    //graphView.addSeries(exampleSeries); //数据
    //graphView.setViewPort(2,5);
    //graphView.setBackgroundColor(Color.WHITE);
// graphView.set
    布局=(的LinearLayout)view.findViewById(R.id.salesgraph);
    TXT =(TextView中)view.findViewById(R.id.salesamount);
    txt.setText(的getData());
    layout.addView(graphView);
    }
    }
    @覆盖
    公共无效onCreateOptionsMenu(菜单菜单,MenuInflater气筒){
        // TODO添加您的菜单项这里
         inflater.inflate(R.menu.optionmenus,菜单);
        super.onCreateOptionsMenu(菜单,充气器);
    }    //处理click事件
    @覆盖
    公共布尔onOptionsItemSelected(菜单项项){
       开关(item.getItemId()){       案例R.id.aboutus:
          意向公司简介=新意图(getActivity(),AboutUs.class);
          startActivity(公司简介);
              返回true;       案例R.id.settings:
            意图设置=新意图(getActivity(),SettingsActivity.class);
            startActivity(设置);
                返回true;       默认:
          返回super.onOptionsItemSelected(项目);
    }
    }
    公共字符串的getData()
    {        返回strSales;
    }
    公共无效setSessionId(字符串的sessionId)
    {
     this.sessionId =的sessionId;
    }
    公共类saleDetail扩展的AsyncTask<无效,整数,对象>
    {        进度进度;        @覆盖
       保护对象doInBackground(虚空...... PARAMS){              尝试
              {如果(的sessionId == NULL)                {
                    的sessionId = sales.login(URL,apiUser,apipass);
                    setSessionId(的sessionId);
                }                   B =销售。 getSaleInfo(的sessionId,URL);
            }赶上(例外五){
                e.printStackTrace();
                的System.out.println(获得订单错误:+ e.getMessage());            // customer_results = NULL;
            }
        //}            返回b;     }
       @覆盖
       在preExecute保护无效()
           {
            order_dialog = ProgressDialog.show(getActivity(),获取销售信息......,请等待加载,真正的);
           }       保护无效onPostExecute(最终Object对象)
      {           order_dialog.dismiss();           如果(对象!= NULL)
           {
           的System.out.println(解雇称为);
           地图<弦乐,双> mappedData =(图)对象;
            销量翻番= mappedData.get(总销售额);            双finalValue = Math.round(销售* 100.0)/ 100.0;            strSales =+ finalValue;
            txt.setText(finalValue +);
           //使用setData(对象);          }
          其他
          {
              Toast.makeText(getActivity(),你不要有我们的包,10).show();         }
      }
}    公共类GraphValue扩展的AsyncTask<无效,整数,对象[]>
    {        进度进度;        @覆盖
       保护对象[] doInBackground(虚空...... PARAMS){              尝试
              {如果(的sessionId == NULL)                {
                    的sessionId = sales.login(URL,apiUser,apipass);
                    setSessionId(的sessionId);
                }                   对象= sales.getGraphValue(的sessionId,URL);
            }赶上(例外五){
                e.printStackTrace();
                的System.out.println(获得订单错误:+ e.getMessage());            // customer_results = NULL;
            }
        //}            返回对象;     }
       @覆盖
       在preExecute保护无效()
           {
        // order_dialog = ProgressDialog.show(getActivity(),获取销售信息......,请等待加载,真正的);
           }       保护无效onPostExecute(最终Object对象[])
      {         // order_dialog.dismiss();         //的System.out.println(数据长度为:+ object.length);
          //的System.out.println(解雇称为);
           对于(obj对象:对象)
           {
               extractDate(OBJ);
           }      }
    私人无效extractDate(obj对象){
        // TODO自动生成方法存根
            地图=(图)OBJ;            的System.out.println(map.get(getCreatedAt));        }
    }}


解决方案

我想创建一个扩展片段的新的抽象CALSS。 SalesGraphFragment,OrderGraphFragment和UserGraphFragment将延长这一新CALSS,他们将实现您想从活动调用该方法。从活动中,你可以这样调用这个方法:adapter.getItem(X).myMethod();

I am creating the fragment dynamically without xml file now i want to call the method inside the fragement from parent activity so how can i do it can any body know about it , i found lots of question but they are doing with xml

Fragmentactivity

 public class HomeActivity extends FragmentActivity implements OnClickListener {

        public static final String TAG = HomeActivity.class.getSimpleName();
        PageIndicator mIndicator;
        //Spinner spinner1;
        ImageView serversetting,dropdown;
        TextView selectrange;
        int num,counter=0;
        String url,apiUser,apipass,TestAccount;
       /* public static HomeActivity newInstance() {
        return new HomeActivity();
        }*/

        @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_parent);
        ViewPager mViewPager = (ViewPager) findViewById(R.id.viewpager);
        selectrange=(TextView)findViewById(R.id.selectrange);
        serversetting=(ImageView)findViewById(R.id.settingsserver);
        dropdown=(ImageView)findViewById(R.id.dropdown);
        mViewPager.setAdapter(new MyAdapter(getSupportFragmentManager()));
        mIndicator = (CirclePageIndicator)findViewById(R.id.indicator);
        mIndicator.setViewPager(mViewPager);

        selectrange.setOnClickListener(this);
        dropdown.setOnClickListener(this);
        serversetting.setOnClickListener(this);

        /*spinner1 = (Spinner) findViewById(R.id.spinner1);
        List<String> list = new ArrayList<String>();
        list.add("Current Month");
        list.add("Last Month");
        list.add("Last 5 Days");
        list.add("Last 10 Days");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
            R.layout.spinner_layout,R.id.spinnerTarget,list);
        //dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        serversetting.setOnClickListener(this);
        spinner1.setAdapter(dataAdapter);
        spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int pos,
                    long id) {
                // TODO Auto-generated method stub
                Toast.makeText(parent.getContext(), 
                        "OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
                        Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }
        });*/
        }


        public class MyAdapter extends FragmentPagerAdapter {
        public MyAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public int getCount() {
            return 3;
        }

        @Override
        public Fragment getItem(int position) {
           /* Bundle args = new Bundle();
            args.putInt(TextViewFragment.POSITION_KEY, position);
            return TextViewFragment.newInstance(args);*/
            Fragment f=new Fragment();  
            switch(position) {
                case 0:
                    f= new SalesGraphFragment();

                    break; 
                case 1:
                    f=new OrderGraphFragment();
                    break;
                case 2:
                    f=new UserGraphFragment();
                    break; 
            }
            return f;
        }


        /*@Override
        public CharSequence getPageTitle(int position) {
            return "Fragment # " + position;
        }*/

        }

        @Override
        protected void onStart()
        {
         super.onStart();   
         EasyTracker.getInstance().activityStart(this);
        }

        @Override
        protected void onStop()
        {
         super.onStop();
         EasyTracker.getInstance().activityStop(this);
        }

        void SelectRangeDialog()
        {
        final CharSequence[] list = {"All time","Current Month","Last Month","Today","YesterDay"};
        AlertDialog.Builder alert = new AlertDialog.Builder(HomeActivity.this);

        if(counter==0)
        {
         num=1;
         counter++;
        }

        alert.setTitle("Range");
        alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
                dialog.dismiss();



                //selectrange.setText(list[which]);
        //      new ChangeStatusAsync().execute();
            }
        });
        /*if(status.equals("Order Pending"))
            num=0;
        else if(status.equals("Upfront Received"))
            num=1;
        else if(status.equals("Payment Complete"))
            num=2;*/
        alert.setSingleChoiceItems(list,num, new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which) 
            {
                //newstatus=list[which].toString(); 
                 selectrange.setText(list[which]);
                 num=which;
            }
        });
        alert.show();
      }


        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            switch (v.getId()) {
            case R.id.settingsserver:
                 Intent settings=new Intent(HomeActivity.this,SettingsActivity.class);
                 startActivity(settings);
                break;

            case R.id.selectrange:
                SelectRangeDialog();
                break;

            case R.id.dropdown:
                SelectRangeDialog();

                break;

            default:
                break;
            }

        }

    }

Fragment

public class SalesGraphFragment extends Fragment {

    public static final String POSITION_KEY = "com.burnside.embeddedfragmenttest.POSITION";
    public static final String TITLE_KEY = "com.burnside.embeddedfragmenttest.TITLE";
    Object saleData[];
    String strSales="";
    TextView txt;
    public  Object b;
    List array;
    public  Object [] objects;
    public static SalesGraphFragment INSTANCE;
    LinearLayout layout;
    String sessionId,url,amount,apiUser,apipass,TestAccount;
    MagentoStoreLogin sales=new MagentoStoreLogin();
    public ProgressDialog order_dialog;
    public static SalesGraphFragment newInstance(Bundle args) {
    SalesGraphFragment fragment = new SalesGraphFragment();
    fragment.setArguments(args);
    ProgressDialog order_dialog; 
    return fragment;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    try{
        TestAccount=getActivity().getIntent().getExtras().getString("TestAccount");
        if(TestAccount==null)
            TestAccount="";
        if(TestAccount.equals("TestAccount"))
        {
            url =getActivity().getIntent().getExtras().getString("defaulturl");
            apiUser=getActivity().getIntent().getExtras().getString("defaultapiuser");
            apipass=getActivity().getIntent().getExtras().getString("defaultapipass");

                System.out.println(url + apipass + apiUser);


        }
        else
         {
          url=PreferenceConnector.readString(getActivity(),PreferenceConnector.URL, null);
          System.out.println("URL is:"+url);
          apiUser=PreferenceConnector.readString(getActivity(),PreferenceConnector.APIUSER, null);
          apipass=PreferenceConnector.readString(getActivity(),PreferenceConnector.APIPASS, null);  
          new saleDetail().execute();
          new GraphValue().execute();
          System.out.println(url + apipass + apiUser);
         }
            if(url!=null&&url!="")
            { 
                //Load the first 12 items
            //  counter=0;


             }
            else
            {
              Toast.makeText(getActivity(),"Please do the API settings first", 1).show();
            }


        }
        catch(Exception e)
        {
            Toast.makeText(getActivity(),"Please do the settings first Exception", 1).show();
        //   uName.setText("");
        //   password.setText("");
        }
      }

    public static SalesGraphFragment getSaleInstance() 
    {
        return INSTANCE;

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
         setHasOptionsMenu(true);
    return inflater.inflate(R.layout.sales_fragment, container, false);



    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    if(!TestAccount.equals("TestAccount"))
    {
    GraphViewSeries exampleSeries = new GraphViewSeries(new GraphViewData[] {
            new GraphViewData(5, 2.0d)
            , new GraphViewData(4, 1.0d)
            , new GraphViewData(3, 3.0d) // another frequency
            , new GraphViewData(2, 2.0d)
            , new GraphViewData(1, 1.0d)
            , new GraphViewData(0, 6.0d)
    });

    // graph with dynamically genereated horizontal and vertical labels
    GraphView graphView;

        graphView = new LineGraphView(
                getActivity() // context
                , "" // heading
        );
    graphView.addSeries(exampleSeries); // data

//  LinearLayout layout = (LinearLayout) findViewById(R.id.graph1);
//  layout.addView(graphView);

    // graph with custom labels and drawBackground


        ((LineGraphView) graphView).setDrawBackground(true);
    // custom static labels
//  graphView.setHorizontalLabels(new String[] {"2 days ago", "yesterday", "today", "tomorrow"});
//  graphView.setVerticalLabels(new String[] {"high", "middle", "low"});
    //graphView.addSeries(exampleSeries); // data
    //graphView.setViewPort(2, 5);
    //graphView.setBackgroundColor(Color.WHITE);
//  graphView.set
    layout = (LinearLayout) view.findViewById(R.id.salesgraph);
    txt=(TextView) view.findViewById(R.id.salesamount);


    txt.setText(getData());
    layout.addView(graphView);
    }
    }


    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        // TODO Add your menu entries here
         inflater.inflate(R.menu.optionmenus, menu);
        super.onCreateOptionsMenu(menu, inflater);
    }

    // Handle click events
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
       switch (item.getItemId()) {

       case R.id.aboutus:
          Intent aboutus=new Intent(getActivity(),AboutUs.class);
          startActivity(aboutus);
              return true;

       case R.id.settings:
            Intent settings=new Intent(getActivity(),SettingsActivity.class);
            startActivity(settings);
                return true;

       default:
          return super.onOptionsItemSelected(item);
    }
    }


    public String getData()
    {

        return strSales;
    }
    public void setSessionId(String sessionId)
    {
     this.sessionId=sessionId;            
    }
    public class saleDetail extends AsyncTask<Void,Integer,Object> 
    {

        ProgressBar progressBar;

        @Override
       protected Object doInBackground(Void... params) {

              try 
              { if(sessionId==null)

                {   
                    sessionId=sales.login(url, apiUser, apipass);
                    setSessionId(sessionId);
                }

                   b=sales. getSaleInfo(sessionId,url);


            } catch (Exception e) {
                e.printStackTrace();
                System.out.println("Getting Order Error:"+e.getMessage());

            //customer_results=null;
            }
        //}

            return b;



     }
       @Override
       protected void onPreExecute() 
           {    
            order_dialog = ProgressDialog.show(getActivity(),"Getting Sales Information...", "Please wait while loading", true);
           }

       protected void onPostExecute(final Object object) 
      {    

           order_dialog.dismiss();

           if(object!=null)
           {
           System.out.println("Dismiss Called");
           Map<String, Double> mappedData=(Map)object;
            Double sales=mappedData.get("Total Sale");

            double finalValue = Math.round( sales * 100.0 ) / 100.0;

            strSales=""+finalValue;
            txt.setText(finalValue+"");
           //setData(object);

          }
          else
          {
              Toast.makeText(getActivity(),"You Dont have our package", 10).show();

         }
      }
}

    public class GraphValue extends AsyncTask<Void,Integer,Object[]> 
    {

        ProgressBar progressBar;

        @Override
       protected Object[] doInBackground(Void... params) {

              try 
              { if(sessionId==null)

                {   
                    sessionId=sales.login(url, apiUser, apipass);
                    setSessionId(sessionId);
                }

                   objects=sales.getGraphValue(sessionId,url);


            } catch (Exception e) {
                e.printStackTrace();
                System.out.println("Getting Order Error:"+e.getMessage());

            //customer_results=null;
            }
        //}

            return objects;



     }
       @Override
       protected void onPreExecute() 
           {    
        //  order_dialog = ProgressDialog.show(getActivity(),"Getting Sales Information...", "Please wait while loading", true);
           }

       protected void onPostExecute(final Object object[]) 
      {    

         //  order_dialog.dismiss();

         //  System.out.println("Data length is:"+object.length);
          // System.out.println("Dismiss Called");
           for(Object obj:object)
           {
               extractDate(obj);
           }

      }
    private void extractDate(Object obj) {
        // TODO Auto-generated method stub


            Map map=(Map)obj;

            System.out.println(map.get("getCreatedAt"));



        }


    }



}

解决方案

I would create a new abstract calss that extends Fragment. SalesGraphFragment, OrderGraphFragment and UserGraphFragment would extend this new calss and they would implement the method that you want to call from the activity. From the activity, you can call this method in this way : adapter.getItem(X).myMethod();

这篇关于如何调用方法,从活动,其中片段动态创建的片段内的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆