如何在公共课上传递和获得价值?

时间:2018-07-17 10:06:24

标签: android android-studio

我有一个Java类,这是代码

public class credentials {

    public static String getName(String name) {
        String name1 = name;
        return name1;
    }

}

这里介绍了如何传递值

credentials.getName("Sample Name");

我的问题是如何获得该值

如何获取从其他类传递的值?

就像我通过其他活动传递它,我需要从另一个活动中获取

2 个答案:

答案 0 :(得分:0)

  

这是一个非常基本的示例,用于显示如何将数据从一个活动传递到另一个活动(这里我使用Shareprefrence)

     --------------------------Activity1-----------------------------------------  

             editText1=(EditText)findViewById(R.id.ed1);
            editText2=(EditText)findViewById(R.id.ed2);
            but=(Button)findViewById(R.id.btn);
            sp=getSharedPreferences("mypref",MODE_PRIVATE);

            but.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    String s=editText1.getText().toString();
                    String s1=editText2.getText().toString();



                    SharedPreferences.Editor editor=sp.edit();

                    editor.putString("user",s);
                    editor.putString("id",s1);
                    editor.commit();
                    gotomainactivity();


                }
            });

            String userId=sp.getString("user",null);
            String password=sp.getString("id",null);
            if(userId!=null && password!=null){
                gotomainactivity();
            }

        }

        private void gotomainactivity() {
            Intent intent=new Intent(MainActivity.this,Sharedatarecive.class);
            startActivity(intent);
            finish();
        }
    -----------------------------------------------------------------------------------Activity2------------ 

// receive data from activity1

     sep=getApplicationContext().getSharedPreferences("mypref",MODE_PRIVATE);
            TextView textView=(TextView)findViewById(R.id.t1);
            TextView textView1=(TextView)findViewById(R.id.t2);

            String s3=sep.getString("user",null);
            String s4=sep.getString("id",null);

    //display data in anctivity2


            textView.setText(s3);
            textView1.setText(s4);

答案 1 :(得分:0)

如果要将数据从一个活动发送到另一个活动,则可以通过意图将其发送。

FirstActivity ,通过意图将数据发送到SecondActivity。

    Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
    intent.putExtra("Credential","your credential");
    startActivity(intent);

SecondActivity ,从Firstactivity接收数据。

    String getCredential = getIntent().getStringExtra("Credential");

只需创建一个Model类并将它们的所有变量和方法设置为静态,即可在没有Model类对象的情况下对其进行访问。

public class Model{

    public static String name;

    public static String getName() {
        return name;
    }

    public static void setName(String xName) {
          name = xName;
    }
}

FirstActivity

 Model.setName("opriday");

SecondActivity

 String getName = Model.getName();