我遇到了一个关于如何在一个活动中显示从用户那里获取的数据以在另一个活动中显示的教程,并且我试图想出我自己的版本(来自我非常有限的知识)。
以下是通过
接受数据的第一个活动的代码package kk.screen;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class ScreenActivity extends Activity {
/** Called when the activity is first created. */
EditText inputName;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void btnclick(View view) {
inputName = (EditText)findViewById(R.id.name);
Intent nextscreen = new Intent(this, newscreen.class);
//Sending value to the next activity
nextscreen.putExtra("name",inputName.getText().toString());
startActivity(nextscreen);
}
}
这是下一个Activity的代码,应该在点击id为“btnclick”的按钮时激活:
package kk.screen;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class newscreen extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.newscreen);
TextView txtName = (TextView) findViewById(R.id.txtName);
Intent i=getIntent();
//Receiving the data
String name = i.getStringExtra("name");
//Display received data
txtName.setText(name);
}
}
问题是,点击按钮后,应用程序崩溃,然后我回到主屏幕。
可能是什么问题?我应该使用OnClickListener()?? (这似乎是我的方法和教程的方法之间的主要区别)
答案 0 :(得分:1)
我打赌你得到NoClassDefFoundError,因为你的AndroidManifest.xml文件中没有第二个Activity,请看这个问题:
Add a new activity to the AndroidManifest?
另外,根据Google的文档:“所有活动必须由清单文件中的元素表示”
http://developer.android.com/guide/topics/manifest/activity-element.html