所以我一直在阅读创建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);
}
所以我希望通过本指南的人可以帮助我,或者只是一个能够看到错误的人,尽管没有完成这个特定的项目。提前谢谢!
对我说话,我是一个完全的初学者。
答案 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" />
这应该可以解决你的问题