第一个Android应用程序中的错误

时间:2013-10-19 21:38:56

标签: java android

所以我一直在阅读创建Android应用程序的初学者指南(http://developer.android.com/training/basics/firstapp/index.html)。除了我不断遇到错误的一步之外,它工作得很好。

MainActivity.java对我不起作用。我在3个不同的地方遇到各种各样的错误。

这就是我的代码:

package com.fredde.myfirstapp;


public class MainActivity extends Activity {
    public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";

    import android.app.Activity;enter code here
    import android.content.Intent;
    import android.view.View;
    import android.widget.EditText;
    import android.view.View;



    /** Called when the user clicks the Send button */
    public void sendMessage(View view) {
      Intent intent = new Intent(this, DisplayMessageActivity.class);
      EditText editText = (EditText) findViewById(R.id.edit_message);
      String message = editText.getText().toString();
      intent.putExtra(EXTRA_MESSAGE, message);
      startActivity(intent);
    }

所以我希望通过本指南的人可以帮助我,或者只是一个能够看到错误的人,尽管没有完成这个特定的项目。提前谢谢!

对我说话,我是一个完全的初学者。

5 个答案:

答案 0 :(得分:1)

import语句应该不在课堂上。

package com.fredde.myfirstapp;

import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.EditText;
import android.view.View;

public class MainActivity extends Activity {
    public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";

/** Called when the user clicks the Send button */
public void sendMessage(View view) {
    Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}

答案 1 :(得分:0)

  

好的,所以在复制G V的代码后,只剩下一个错误:在此   line ditText editText =(EditText)findViewById(R.id.edit_message);它   说“R无法解析为变量”

清理项目,然后重新构建。

答案 2 :(得分:0)

您需要调用onCreate并在其中调用setCustomView,以便将布局扩展到该活动。

@override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setCustomView(R.layout.yourLayoutXMLfile);
}

如果您不写这个,应用程序不知道在哪里可以找到EditText等对象

答案 3 :(得分:0)

我刚刚编译了以下内容并没有收到任何错误。 这就是我在onCreate方法下所做的。

setCustomView(R.layout.file.xml);

为此创建一个名为file.xml的文件,位于res-> layout-> file.xml下。 我在xml中为Edit视图分配了一个id,如:`

 <EditText 
    android:id="@+id/edit_mssg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/msg"/>

我相信你有一个名为DisplayMesageActivity.java的

的java文件
 package com.fredde.myfirstapp;

import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.EditText;
import android.view.View;

public class MainActivity extends Activity {

public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setCustomView(R.layout.file.xml);
}
/** Called when the user clicks the Send button */
public void sendMessage(View view) {
    Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_mssg);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}

答案 4 :(得分:0)

对于您的主要活动:

Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);

必须在res-&gt; values-&gt;

下的strings.xml中定义以下内容
<resources>
...
<string name="title_activity_display_message">My Message</string>
</resources>

for R无法解决: 确保您已将edit_message定义为xml文件中编辑视图的ID,如下所示:

<EditText android:id="@+id/edit_message"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="@string/edit_message" />

这应该可以解决你的问题