Java 搞不清楚意图构造器出了什么问题
我正在尝试创建一个按钮来打开第二个活动。我已经看过了在Intents上可以找到的教程,我认为我正确地遵循了它们,但显然我没有 NewScreenActivity是一项完全空白的活动。意图构造函数有什么问题,我如何才能正确地执行它Java 搞不清楚意图构造器出了什么问题,java,android,android-intent,Java,Android,Android Intent,我正在尝试创建一个按钮来打开第二个活动。我已经看过了在Intents上可以找到的教程,我认为我正确地遵循了它们,但显然我没有 NewScreenActivity是一项完全空白的活动。意图构造函数有什么问题,我如何才能正确地执行它 //NewScreenActivity in same package package com.example.intri.firstexample; import android.content.Intent; import android.support.v7.a
//NewScreenActivity in same package
package com.example.intri.firstexample;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView userText;
Button buttonToNewScreen;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
userText = (TextView) findViewById(R.id.userText);
buttonToNewScreen = (Button) findViewById(R.id.buttonToNewScreen);
userText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String input = userText.getText().toString();
Intent toNewScreen = new Intent(this, NewScreenActivity.class);
}
});
}
}
谢谢
在本例中,您不能在new Intent()中使用“this”,因为“this”指的是新的OnClickerListener匿名类。您应该调用getApplicationContext()之类的函数,而不是“this”。如果要引用活动,请编写一个名为openNewActivity()的方法(或类似的方法),然后从那里开始
在本例中,您不能在new Intent()中使用“this”,因为“this”指的是新的OnClickerListener匿名类。您应该调用getApplicationContext()之类的函数,而不是“this”。如果要引用活动,请编写一个名为openNewActivity()的方法(或类似的方法)并从那里开始。您的代码不应编译,正确的代码应如下所示:
Intent intent = new Intent(MainActivity.this, NewScreenActivity.class);
startActivity(intent);
您的空白活动问题可能是完全不同的问题。如果要传递数据,请使用
intent.putExtra
函数系列。您的代码不应编译,正确的代码应如下所示:
Intent intent = new Intent(MainActivity.this, NewScreenActivity.class);
startActivity(intent);
您的空白活动问题可能是完全不同的问题。如果您想通过intent传递数据,请使用
intent.putExtra
函数系列。当然这是空白活动,因为您没有通过intent发送任何数据。你的意图只是开启了另一个活动。你应该使用额外的
String input = userText.getText().toString();
Intent toNewScreen = new Intent(MainActivity.this, NewScreenActivity.class);
toNewScreen.putExtra("data", input);
startActivity(toNewScreen);
当然,它是空白活动,因为您没有通过Intent发送任何数据。你的意图只是开启了另一个活动。你应该使用额外的
String input = userText.getText().toString();
Intent toNewScreen = new Intent(MainActivity.this, NewScreenActivity.class);
toNewScreen.putExtra("data", input);
startActivity(toNewScreen);
在您的OnCLickListener中使用以下命令以获取意图。 您意图中的“this”指的是clickListener。因此,您必须指定活动名称,然后才能启动该活动
Intent-toNewScreen=新意图(MainActivity.this、NewScreenActivity.class);
startActivity(toNewScreen)代码>在您的OnCLickListener中使用以下内容以获取意图。
您意图中的“this”指的是clickListener。因此,您必须指定活动名称,然后才能启动该活动
Intent-toNewScreen=新意图(MainActivity.this、NewScreenActivity.class);
startActivity(toNewScreen)
总的来说,main活动。这是一个比getApplicationContext()
更好的建议。只有在有特定原因时才使用应用程序
上下文。总的来说,main活动。与getApplicationContext()
相比,这是一个更好的建议。只有在有特定原因时才使用应用程序
上下文。此
在onClick()
方法中引用了您在此处创建的匿名OnClickListener
类setOnClickListener(new View.OnClickListener(){/*..*/})代码>。这就是为什么会出现错误。onClick()中的this
方法引用了您在此处创建的匿名OnClickListener
类setOnClickListener(new View.OnClickListener(){/*..*/})代码>。这就是为什么你会犯错误。