Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用程序在.putExtra意图后崩溃_Java_Android_Android Intent - Fatal编程技术网

Java 应用程序在.putExtra意图后崩溃

Java 应用程序在.putExtra意图后崩溃,java,android,android-intent,Java,Android,Android Intent,我正在尝试将变量从一个活动发送到另一个活动。当我尝试在手机上测试该应用程序时,它会崩溃,并说该应用程序已停止工作 来自发送端的代码 if (id==R.id.action_cart){ Intent good1 = new Intent(MainActivity.this, Scroll.class); good1.putExtra("intVariableName", 5); startActivity(good1); Te

我正在尝试将变量从一个活动发送到另一个活动。当我尝试在手机上测试该应用程序时,它会崩溃,并说该应用程序已停止工作

来自发送端的代码

if (id==R.id.action_cart){

        Intent good1 = new Intent(MainActivity.this, Scroll.class);

        good1.putExtra("intVariableName", 5);
        startActivity(good1);

        TextView hides = (TextView) findViewById(R.id.textView3);
        hides.setVisibility(View.INVISIBLE);
    }
和接收端的代码

public class Scroll extends AppCompatActivity {
TextView btn = (TextView) findViewById(R.id.text);

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

    Intent mIntent = getIntent();
    int intValue = mIntent.getIntExtra("intVariableName", 0);

    btn.setText(intValue);



}}

如果你知道问题是什么,请告诉我。我花了几个小时寻找解决办法。谢谢

您需要移动此
TextView btn=(TextView)findViewById(R.id.text)
oncreate
内部,因为在
oncreate
之前,没有任何布局附加到
Scroll
活动,使用此
findViewById(R.id.text)
查找
textview
将导致失败,从而导致崩溃

public class Scroll extends AppCompatActivity {
    TextView btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scroll);
        btn = (TextView) findViewById(R.id.text)
        //^^^^
        Intent mIntent = getIntent();
        int intValue = mIntent.getIntExtra("intVariableName", 0);
        btn.setText(""+intValue);                
      }
}

注意:为清晰起见,请使用适当的命名约定,如
TextView
TextView
而不是
btn
,并使用
“+value
int
值转换为
text
,因为
TextView
只允许
字符串

您需要移动此
TextView-btn=(TextView)findViewById(R.id.text);
内部
oncreate
,因为在
oncreate
之前,没有任何布局附加到
Scroll
活动,使用此
findViewById(R.id.text)
查找
TextView
将导致失败,因此崩溃

public class Scroll extends AppCompatActivity {
    TextView btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scroll);
        btn = (TextView) findViewById(R.id.text)
        //^^^^
        Intent mIntent = getIntent();
        int intValue = mIntent.getIntExtra("intVariableName", 0);
        btn.setText(""+intValue);                
      }
}
注意:为清晰起见,请使用适当的命名约定,如
TextView
TextView
而不是
btn
,并使用
“+value
int
值转换为
text
,因为
TextView
只允许
字符串

在活动中使用

public class Scroll extends AppCompatActivity {
TextView btn ;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_scroll);
    btn = (TextView) findViewById(R.id.text); // initialize your button here
    Intent mIntent = getIntent();
    int intValue = mIntent.getIntExtra("intVariableName", 0);

    btn.setText(String.valueOf(intValue));



}}
在你的活动中

public class Scroll extends AppCompatActivity {
TextView btn ;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_scroll);
    btn = (TextView) findViewById(R.id.text); // initialize your button here
    Intent mIntent = getIntent();
    int intValue = mIntent.getIntExtra("intVariableName", 0);

    btn.setText(String.valueOf(intValue));



}}
试试这个

    if (id==R.id.action_cart){
         //hide views before moving
           TextView hides = (TextView) findViewById(R.id.textView3);
            hides.setVisibility(View.INVISIBLE);
            Intent good1 = new Intent(MainActivity.this, Scroll.class);
            good1.putExtra("intVariableName", 5);
            startActivity(good1);

        }
在接待活动中 把这个放在oncreate中

btn = (TextView) findViewById(R.id.text);
像这样

 public class Scroll extends AppCompatActivity {
    TextView btn ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scroll);
        btn = (TextView) findViewById(R.id.text);
        Intent mIntent = getIntent();
        int intValue = mIntent.getIntExtra("intVariableName", 0);
        btn.setText(intValue);



    }}
试试这个

    if (id==R.id.action_cart){
         //hide views before moving
           TextView hides = (TextView) findViewById(R.id.textView3);
            hides.setVisibility(View.INVISIBLE);
            Intent good1 = new Intent(MainActivity.this, Scroll.class);
            good1.putExtra("intVariableName", 5);
            startActivity(good1);

        }
在接待活动中 把这个放在oncreate中

btn = (TextView) findViewById(R.id.text);
像这样

 public class Scroll extends AppCompatActivity {
    TextView btn ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scroll);
        btn = (TextView) findViewById(R.id.text);
        Intent mIntent = getIntent();
        int intValue = mIntent.getIntExtra("intVariableName", 0);
        btn.setText(intValue);



    }}

我想问题出在这个调用中:
btn.setText(intValue);
:值为5的字符串资源ID不存在。尝试用
btn.setText(Integer.toString(intValue));

我想问题出在这个调用中:
btn.setText(intValue);
:值为5的字符串资源ID不存在。请尝试将其替换为
btn.setText(Integer.toString(intValue));

将行更改为:btn.setText(string.valueOf(intValue));

public class Scroll extends AppCompatActivity {
TextView btn = (TextView) findViewById(R.id.text);

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

    Intent mIntent = getIntent();
    int intValue = mIntent.getIntExtra("intVariableName", 0);

    btn.setText(String.valueOf(intValue));
}}

将行更改为:btn.setText(String.valueOf(intValue));

public class Scroll extends AppCompatActivity {
TextView btn = (TextView) findViewById(R.id.text);

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

    Intent mIntent = getIntent();
    int intValue = mIntent.getIntExtra("intVariableName", 0);

    btn.setText(String.valueOf(intValue));
}}

用此替换您的代码

public class Scroll extends AppCompatActivity {


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

        setContentView(R.layout.activity_scroll);

        TextView btn = (TextView) findViewById(R.id.text);

        Intent mIntent = getIntent();
        int intValue = mIntent.getIntExtra("intVariableName", 0);

        btn.setText(intValue);

    }
}

用此替换您的代码

public class Scroll extends AppCompatActivity {


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

        setContentView(R.layout.activity_scroll);

        TextView btn = (TextView) findViewById(R.id.text);

        Intent mIntent = getIntent();
        int intValue = mIntent.getIntExtra("intVariableName", 0);

        btn.setText(intValue);

    }
}

原木猫总是很可爱helpfull@DroidGalaxy请粘贴崩溃的错误日志。日志cat始终为helpfull@DroidGalaxy请粘贴崩溃的错误日志。由于intValue可能没有资源,应用程序仍可能在
btn.setText(intValue)
处崩溃。请更改为
btn.setText(String.valueOf(intValue)
@PavanPatil实际上,将始终存在
0
(默认值)或传递的值,尽管它们应该是字符串的形式,但应用程序可能会在
btn.setText(intValue)
处崩溃,因为intValue可能没有资源。更改为
btn.setText(String.valueOf(intValue)
@PavanPatil实际上,将始终存在
0
(默认值)或传递的值,尽管它们应为字符串形式,但这不是正确的答案,这不是正确的答案