【问题标题】:non-static method putExtra and cannot find symbol method非静态方法 putExtra 并且找不到符号方法
【发布时间】:2017-01-26 13:52:27
【问题描述】:

我是一名 PHP 开发人员,但今天我需要面对 Android Studio。

我想将输入文本发送到另一个活动。但我有一些错误:

错误:非静态方法 putExtra(String,String) 不能 引用自静态上下文错误:找不到符号方法 开始活动(意图)

public class MainActivity extends AppCompatActivity {
  public final static String EXTRA_MESSAGE = "com.proj.proj";

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

  public void sendMessage(View view){
    Intent intent = new Intent(this, main.class);
    EditText editText = (EditText) findViewById(R.id.main);
    String message = editText.getText().toString();
    Intent.putExtra(EXTRA_MESSAGE, message);
    StartActivity(intent);
  }
}

怎么了?

【问题讨论】:

  • @Selvin 经验不足的 OP 打错了字,你让他去寻找静态和非静态方法之间的区别。不好:-(

标签: android android-studio


【解决方案1】:

使用intent 而不是Intent 的正确实例。

public class MainActivity extends AppCompatActivity {

  EditText editText;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editText = (EditText) findViewById(R.id.main);
  }

  public void sendMessage(View view){
    Intent intent = new Intent(this, main.class);

    String message = editText.getText().toString();
    intent.putExtra("com.proj.proj", message);
    startActivity(intent);
  }
}

【讨论】:

  • @Selvin,对不起,看起来有人从早上起就给我存货了。总是被否决和被否决。
  • 你不用担心连续投票会自动反转
  • StartActivity(intent); 仍然给我一个错误
  • 它是startActivity()(带有小s
  • @RickJoe,是的,错误是大写S,更新了我的答案。使用startActivity()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-19
相关资源
最近更新 更多