java – fragment_display_message:我的第一个Android应用程序
我是第一次开发移动应用程序
环境:Eclipse Kepler,Java 1.7后端: 我按照以下步骤操作: 1)安装Android SDK并运行Android SDK Manager,并安装所需的文件 2)安装的ADT Eclipse ADT插件:https://dl-ssl.google.com/android/eclipse 在一些标准文档的这个阶段,它说你必须现在创建一个AVD,AVD图标被假设出现在我的工具栏中,但我无法在任何地方找到它. 现在,我正在尝试开发我的第一个应用程序,如本网站所示:http://developer.android.com/training/basics/firstapp/index.html 我正在添加我的代码片段,如下所示: main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > </LinearLayout> strings.xml: <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">My First App</string> <string name="edit_message">Enter a message</string> <string name="button_send">Send</string> <string name="action_settings">Settings</string> <string name="title_activity_main">MainActivity</string> <string name="uploading">Uploading…</string> <string name="hello_world">Hello world!</string> <string name="title_activity_display_message">DisplayMessageActivity</string> </resources> AndroidManifest.xml: <!-- <?xml version="1.0" encoding="utf-8" standalone="no"?> --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.amazon.demo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="16" android:targetSdkVersion ="20" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:allowBackup="true" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > </activity> <activity android:name=".DisplayMessageActivity" android:label="@string/title_activity_display_message" android:parentActivityName="com.amazon.demo.MainActivity" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.amazon.demo.MainActivity" /> </activity> </application> </manifest> MainActivity.java public class MainActivity extends ActionBarActivity { public final static String EXTRA_MESSAGE = "com.amazon.demo.MESSAGE"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main,menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button,so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } 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); } } activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.amazon.demo.MainActivity" > <EditText android:id="@+id/edit_message" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:hint="@string/edit_message" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_send" android:onClick="sendMessage" /> </LinearLayout> DisplayMessageActivity.java: public class DisplayMessageActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_display_message); // Get the message from the intent Intent intent = getIntent(); String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); // Create the text view TextView textView = new TextView(this); textView.setTextSize(40); textView.setText(message); // Set the text view as the activity layout setContentView(textView); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.display_message,so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() { } @Override public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_display_message,container,false); return rootView; } } } activity_display_message.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.amazon.demo.DisplayMessageActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout> 现在不同于My First App crashes when pressing a button我在我的项目目录中的任何地方都有fragment_main.xml和fragment_display_message.xml. 我是否还安装了正确开发Android应用程序的所有先决条件?我不确定. 另外,在DisplayMessageActivity.java中它表示:fragment_display_message无法解析或不是字段 因此我也无法运行该文件. 请帮忙.和长期描述的sry. 解决方法
我刚刚解决了同样的问题,它仍然存在于ANDROID-STUDIO构建您的第一个应用教程中.
在DisplayMessageActivity.java中,我用R.layout.activity_display_message替换了R.layout.fragment_display_message.这引用了activity_display_message.xml,否则这是多余的. 您不必创建新的fragment_display_message.xml. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何解决Jackson无法处理JPA bean中的直接自引用问题
- java – 在Spring MVC WebApp中推送通知
- .net – 如何做一个异步ServiceController.WaitForStatus?
- 如何在带有lambda表达式的java 8中使用多个流和.map函数
- java – LinkedBlockingQueue和ConcurrentLinkedQueue有什
- java 中多线程生产者消费者问题详细介绍
- java – 使用jersey-spring3从JerseyTest容器中检索受管Bea
- java基础循环判断语句
- 为什么Java在catch块内返回statment不起作用?
- jsoup查询多个选择器