Pas de vue l'identité de la ... pour le fragment PlaceholderFragment

J'ai une application simple (basé sur la Première Application Android de l'échantillon); la seule chose qu'il fait est de montrer un EditText et un bouton. Le bouton crée une autre activité, et de montrer l'EditText message ... simple! ... Mais lors de l'exécution de l'émulateur, l'application se ferme quand je clique sur le bouton et j'ai cette erreur:

"Pas de vue l'identité de la 0x7f05003c (com.exemple.testapp:id/conteneur) pour fragment PlaceholderFragment{4173ead8 #0 id=0x7f05003c}"

MainActivity.java

public class MainActivity extends ActionBarActivity {
public final static String EXTRA_MESSAGE = "com.example.testapp.MESSAGE";
public void SendMessage (View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edt_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
@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);
}
/**
* A placeholder fragment containing a simple view.
*/
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_main, container, false);
return rootView;
}
}
}

activity_layout.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.testapp.MainActivity"
tools:ignore="MergeRootFrame" />

fragment_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" >
<EditText 
android:id="@+id/edt_message"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/Message" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/textButtom"
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);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
TextView textView = new TextView(this);
textView.setTextSize (40);
textView.setText (message);
setContentView (textView);
}
@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);
}
/**
* A placeholder fragment containing a simple view.
*/
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

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.testapp.DisplayMessageActivity"
tools:ignore="MergeRootFrame" />

fragment_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" >
</RelativeLayout>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.testapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.testapp.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.testapp.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.testapp.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.testapp.MainActivity" />
</activity>
</application>
</manifest>

LogCat

> 03-22 11:02:42.755: E/AndroidRuntime(1722):FATAL EXCEPTION: main 03-22
> 11:02:42.755: E/AndroidRuntime(1722):java.lang.RuntimeException:
> Unable to start activity ComponentInfo{com.example.testapp/           
> com.example.testapp.DisplayMessageActivity}:java.lang.IllegalArgumentException:
> No view found for id 0x7f05003c (com.example.testapp:id/container) for
> fragment PlaceholderFragment{417356c8 #0 id=0x7f05003c} 03-22
> 11:02:42.755: E/AndroidRuntime(1722):at
> android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
> 03-22 11:02:42.755: E/AndroidRuntime(1722):at
> android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
> 03-22 11:02:42.755: E/AndroidRuntime(1722):at
> android.app.ActivityThread.access$600(ActivityThread.java:141) 03-22
> 11:02:42.755: E/AndroidRuntime(1722):at
> android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
> 03-22 11:02:42.755: E/AndroidRuntime(1722):at
> android.os.Handler.dispatchMessage(Handler.java:99) 03-22
> 11:02:42.755: E/AndroidRuntime(1722):at
> android.os.Looper.loop(Looper.java:137) 03-22 11:02:42.755:
> E/AndroidRuntime(1722):at
> android.app.ActivityThread.main(ActivityThread.java:5103) 03-22
> 11:02:42.755: E/AndroidRuntime(1722):at
> java.lang.reflect.Method.invokeNative(Native Method) 03-22
> 11:02:42.755: E/AndroidRuntime(1722):at
> java.lang.reflect.Method.invoke(Method.java:525) 03-22 11:02:42.755:
> E/AndroidRuntime(1722):at
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
> 03-22 11:02:42.755: E/AndroidRuntime(1722):at
> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 03-22
> 11:02:42.755: E/AndroidRuntime(1722):at
> dalvik.system.NativeStart.main(Native Method) 03-22 11:02:42.755:
> E/AndroidRuntime(1722):Caused by: java.lang.IllegalArgumentException:
> No view found for id 0x7f05003c (com.example.testapp:id/container) for
> fragment PlaceholderFragment{417356c8 #0 id=0x7f05003c} 03-22
> 11:02:42.755: E/AndroidRuntime(1722):at
> android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:919)
> 03-22 11:02:42.755: E/AndroidRuntime(1722):at
> android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
> 03-22 11:02:42.755: E/AndroidRuntime(1722):at
> android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
> 03-22 11:02:42.755: E/AndroidRuntime(1722):at
> android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
> 03-22 11:02:42.755: E/AndroidRuntime(1722):at
> android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:570)
> 03-22 11:02:42.755: E/AndroidRuntime(1722):at
> android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
> 03-22 11:02:42.755: E/AndroidRuntime(1722):at
> android.app.Activity.performStart(Activity.java:5143) 03-22
> 11:02:42.755: E/AndroidRuntime(1722):at
> android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
> 03-22 11:02:42.755: E/AndroidRuntime(1722):... 11 more 03-22
> 11:02:42.965: D/dalvikvm(1722): GC_FOR_ALLOC freed 206K, 9% free
> 2808K/3076K, paused 54ms, total 92ms 03-22 11:02:44.764:
> I/Process(1722): Sending signal. PID: 1722 SIG: 9
  • Veuillez poster votre activité mise en page xmls et logcat. Sinon, il sera difficile de cerner le problème.
  • L'erreur est probablement dans la mise en page de vos activités. Merci de poster ces trop, et pas seulement le fragment de mises en page.
  • La mise en page activity_display_message.xml est encore absent de votre question.
  • Toutes les mises en page est affichée, si ce ne sont pas tous des, où je peux trouvé les autres, parce que c'est les seuls fichiers que j'ai le travail...
  • La mise en page de votre DisplayMessageActivity. Celui-ci: R. layout.activity_display_message. Vous pouvez trouver le tout en res -> mise en page.
  • Il y a tous les modèles...

InformationsquelleAutor Andres Perez | 2014-03-22