【问题标题】:Android Studio, Using a variable to another Activiy [duplicate]Android Studio,将变量用于另一个 Activiy [重复]
【发布时间】:2016-10-19 03:09:04
【问题描述】:
public class MainActivity extends AppCompatActivity {
    EditText nama;
    Button OK;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        addListenerButton_OK();
    }

    private void addListenerButton_OK() {
        nama=(EditText)findViewById(R.id.editText_NamaAnda);
        OK=(Button)findViewById(R.id.button_OK);

        OK.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {                

                if(nama.getText().toString().equals("Fredy") || nama.getText().toString().equals("Oktafianus") || nama.getText().toString().equals("Markus") || nama.getText().toString().equals("fredy") || nama.getText().toString().equals("oktafianus") || nama.getText().toString().equals("markus")){
                    Intent Clicked_OK=new Intent(MainActivity.this,Game.class);                   
                    startActivity(Clicked_OK);
                }else{
                    Toast.makeText(getBaseContext(),"Error : "+nama.getText()+" Bukan nama depan anda!",Toast.LENGTH_LONG).show();
                }
            }
        });
    }
}

我在这里需要帮助!

我创建了MainActiviy 和另一个名为Game 的活动。我想将 EditText nama 发送到第二个 Activity。我想在第二个活动中使用nama

提前致谢

【问题讨论】:

  • 在第二个活动中使用“nama”的目的是什么?如果您只想要edittext的值,那么您可以将edittext的值作为字符串发送到用于调用第二个活动的意图中,然后在第二个活动中从bundle中获取值,然后使用它。
  • Kau boleh ganti equals() dengan equalsIgnoreCase() supaya mana2 huruf besar akan diabaikan, tak perlu 声明 banyak kali macam "Fredy", "fRedy", "frEdy"

标签: java android


【解决方案1】:

像下面这样在捆绑中传递它。

private void addListenerButton_OK() {
    nama=(EditText)findViewById(R.id.editText_NamaAnda);
    OK=(Button)findViewById(R.id.button_OK);
    OK.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if(nama.getText().toString().equals("Fredy")||nama.getText().toString().equals("Oktafianus")||nama.getText().toString().equals("Markus")
                    ||nama.getText().toString().equals("fredy")||nama.getText().toString().equals("oktafianus")||nama.getText().toString().equals("markus")){
                Intent Clicked_OK=new Intent(MainActivity.this,Game.class);
                Clicked_OK.putExtra("NAME", nama.getText());
                startActivity(Clicked_OK);
            }else{

                Toast.makeText(getBaseContext(),"Error : "+nama.getText()+" Bukan nama depan anda!",Toast.LENGTH_LONG).show();
            }
        }
    });
}

然后在游戏活动的OnCreate方法中,得到这样的名字,

 Intent intent = getIntent();
    if(intent!=null){
        Bundle bundle = intent.getExtras();
        String name  = bundle.getString("NAME");
    }

【讨论】:

    【解决方案2】:

    试试这个,

    Intent Clicked_OK = new Intent(MainActivity.this, Game.class);
    Clicked_OK.putExtra("nama",nama.getText().toString());
    startActivity(Clicked_OK);
    

    在Game类的onCreate方法上通过这种方式获取“nama”,

    String nama =  getIntent().getExtras().getString("nama");
    

    Intent 是一个消息传递对象,可用于从另一个应用组件请求操作。

    Extras键值对,携带完成请求操作所需的额外信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-23
      • 1970-01-01
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      • 2018-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多