如何通过将局部变量存储到java android中的类变量(全局)来访问局部变量

如何通过将局部变量存储到java android中的类变量(全局)来访问局部变量,java,android,fragment,global,local,Java,Android,Fragment,Global,Local,片段A 这里的问题是我什么时候打电话 passitem(),passqty(),passamt(),passtot()我得到 在初始化时声明。即,int totalp=0;一串 itemp=“”,qtyp=“”,amtp=“”。我想要变量 itemp=item,qtyp=数量,amtp=amt,totalp=total即,本地 变量数据。请帮助我,我非常感谢你们 另请注意:-当我试图在中获取数据itemp,qtyp onActivityCreated 我这样调用代码: public class

片段A

这里的问题是我什么时候打电话
passitem()
passqty()
passamt()
passtot()
我得到 在初始化时声明。即,
int totalp=0;一串
itemp=“”,qtyp=“”,amtp=“”
。我想要变量
itemp=item
qtyp=数量
amtp=amt
totalp=total即,本地
变量数据。请帮助我,我非常感谢你们


另请注意:-当我试图在中获取数据
itemp
qtyp
onActivityCreated

我这样调用代码:

public class Menu extends AppCompatActivity {
  public FloatingActionButton b4;
  @Override protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_menu);
    b4 = findViewById(R.id.fab);
    Fragment_nonveg fragment_n = new Fragment_nonveg();
    final String nitem=fragment_n.passitem();
    final String nqty=fragment_n.passqty();
    final String namt=fragment_n.passamt();
    final Integer ntotal=fragment_n.passtot();

为了解决这个问题,我在
Fragment\u noveneg
中添加了一个
getInstance
方法,并调用该方法,而不是构造一个新实例。否则,
片段就无法直接获得

片段A

包含片段A的活动


你能分享使用这个类的代码吗?我认为没有必要使用这个代码。因为它与其他类无关。在
Fragment\u noneg
中定义的函数
passitem()
passqty()
等必须处理类变量(全局)。@你能告诉我itemp,qtyp etc在提交了创建的活动后重新启动?不,我不能不看这些方法是如何调用的。我不需要整个其他类,只需要包含调用activitycreated()
和各种
pass
方法的代码片段。如果该代码过于复杂或“敏感”,请创建一个单独的类,仅将这些方法作为测试用例调用,确保它也会中断,然后发送。以下是我调用这些方法的代码:-
public class Menu extensed appcompativity{public FloatingActionButton b4;@Override protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_菜单);b4=findViewById(R.id.fab);Fragment_noveneg Fragment_n=new Fragment_noveneg();final String nitem=Fragment_n.passitem();final String nqty=Fragment_n.passqty();最终字符串namt=fragment_n.passamt();最终整数ntotal=fragment_n.passtot()
另附:当我试图在创建的活动中获取数据时,我得到了完美的结果。它看起来就像是创建的活动中的项目,在提交后重置。
public class Menu extends AppCompatActivity {
  public FloatingActionButton b4;
  @Override protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_menu);
    b4 = findViewById(R.id.fab);
    Fragment_nonveg fragment_n = new Fragment_nonveg();
    final String nitem=fragment_n.passitem();
    final String nqty=fragment_n.passqty();
    final String namt=fragment_n.passamt();
    final Integer ntotal=fragment_n.passtot();
    public class Fragment_nonveg extends Fragment {


        TextView t,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
        CheckBox c1,c2,c3,c4,c5;
        Button b1,b2,b5,b6,b7,b8,b9,b10,b11,b12;
        ImageButton b3;
        int x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,g1,g2,g3,g4,g5,g6,g7,g8,g9,g10;
        String res,res1,res2,res3,res4,re,re1,re2,re3,re4;
        public static int totalp;
    public static String itemp, qtyp, amtp;
    SharedPreferences sp;
    private static Fragment_nonveg instance;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        Bundle bundle = this.getArguments();
        instance = this;
        return inflater.inflate(R.layout.fragment_nonveg, null);
    }


        @Override
        public void onActivityCreated(@Nullable Bundle savedInstanceState) {

            super.onActivityCreated(savedInstanceState);
     //do your code
}
     public static Fragment_nonveg getInstance() {
            return instance;
        }
        public void calcu(){
            int total = 0;
            String item="",qty="",amt="";

            if (c1.isChecked() == true) {

                item=item+c1.getText().toString() + "\n";
                qty=qty+t2.getText().toString() + "\n";
                amt=amt+t1.getText().toString()+ "\n";
                String t = t1.getText().toString();
                total=total+Integer.parseInt(t);
            }
            if (c2.isChecked() == true) {
                item=item+c2.getText().toString()+"\n";
                qty=qty+t4.getText().toString()+"\n";
                amt=amt+t3.getText().toString() + "\n";
                String t = t3.getText().toString();
                total=total+Integer.parseInt(t);
            }
            if (c3.isChecked() == true) {
                item=item+c3.getText().toString() + "\n";
                qty=qty+t6.getText().toString() + "\n";
                amt=amt+t5.getText().toString() + "\n";
                String t = t5.getText().toString();
                total=total+Integer.parseInt(t);
            }
            if (c4.isChecked() == true) {
                item=item+c4.getText().toString() + "\n";
                qty=qty+t8.getText().toString() + "\n";
                amt=amt+t7.getText().toString()+ "\n";
                String t = t7.getText().toString();
                total=total+Integer.parseInt(t);

            }
            if (c5.isChecked() == true) {
                item = item + c5.getText().toString() + "\n";
                qty= qty + t10.getText().toString() + "\n";
                amt = amt+ t9.getText().toString() + "\n";
                String t = t9.getText().toString();
                total=total+Integer.parseInt(t);

            }
            itemp=item;
            qtyp=qty;
            amtp=amt;
            totalp=total;
            sp=this.getActivity().getSharedPreferences("calis", Context.MODE_PRIVATE);
            SharedPreferences.Editor editor=sp.edit();
            editor.putString("k1",item);
            editor.putString("k2",qtyp);
            editor.putString("k3", amtp);
            editor.putInt("k4", totalp);
            editor.commit();
        }
    }
public class Menu extends AppCompatActivity {

    TextView nonveg,veg,snacks,desert,beverges;
    ViewPager viewPager;
    PageViewAdapter pageViewAdapter;
    public FloatingActionButton b4;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);
        b4 = findViewById(R.id.fab);
        b4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent obj4 = new Intent(Menu.this, Bill.class);
                Fragment_nonveg.getInstance().calcu();
                startActivity(obj4);
            }
        });

    }