Android Studio - 使用参数启动活动

时间:2015-06-12 06:32:17

标签: android

我是Android Studio新手。我正在研究以下代码,但它无法正常工作,请帮助我。

我正在尝试发送一个int值,但模拟器每次都停止工作。

从第1课到第2页。 在第1页:

        b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(page1.this, page2.class);
            Bundle b = new Bundle();
            b.putInt("key", 1); //Your id
            intent.putExtras(b); //Put your id to your next Intent
            startActivity(intent);
        }
    });

第2页:我在onCreate函数中编写此代码。

    Bundle coming = getIntent().getExtras();
    int value = coming.getInt("key");
    paper.setText(value);

4 个答案:

答案 0 :(得分:2)

当您尝试将其设置为int时,您必须强制 String TextView

所以改变:

paper.setText(value);

为:

paper.setText(String.valueOf(value));

答案 1 :(得分:0)

您需要为TextView

设置文本值
Bundle coming = getIntent().getExtras();
int value = coming.getInt("key");
// Add an empty string to value
paper.setText(value + "");

答案 2 :(得分:0)

在setText之前将int转换为String

paper.setText(String.valueOf(value));

答案 3 :(得分:-1)

有几种方法可以做到,这取决于您的要求。我将展示如何做到这一点,

  1. 如果你想传递单个参数,最好按照以下意图传递它。
  2. b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getApplicationContext(), page2.class); intent.putExtra("key", 1); //Your id startActivity(intent); } });

    您可以在第2页的活动中接收数据

    int id = getIntent().getIntExtra("key",1);
    
    1. 可以使用bundle来传递数据包

      b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getApplicationContext(), page2.class); //Create the bundle Bundle bundle = new Bundle(); //Add your data from getFactualResults method to bundle bundle.putString("key", 1); //Add the bundle to the intent intent.putExtras(bundle); startActivity(intent); } });

    2. 从第2页活动

      接收数据

      Bundle bundle = null; bundle = this.getIntent().getExtras(); String keyString = bundle.getString("Name");//this is for String

      1. 将数据添加到sharedPreferences并从page2 Activity
      2. 中检索它

        SharedPreferences sp =getSharedPreferences(logFile, 0); SharedPreferences.Editor editor = sp.edit(); editor.putString("id", 1); editor.commit();

        可以从下一页开始审核