Dovrei dichiarare il MainFragmentDemoActivity in menifest?

Sto cercando di imparare il frammento. Faccio clic su una class di frammento e la mia app si blocca. Lo ho dichiarato nel menifest .. Ma perché sta succedendo .. La mia class di menu

public class Menu extends ListActivity { String classs[] = { "SpinnerDemo", "GridDemo", "AutoCompleteDemo", "DynamicDemo", "WebViewDemo1", "WebViewDemo3", "LaunchDemo", "LifecycleLoggingActivity", "IntentCheckActivity", "CallIntentActivity", "MainFragmentDemoActivity", "Simplebrowser", "Flipper", "SharedPrefs", "Internaldata", "Externaldata", "Sqliteexample", "GLexample", "TextVoice", "StatusBar", "SeekBarVolume" }; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setListAdapter(new ArrayAdapter<String>(Menu.this, android.R.layout.simple_list_item_1, classs)); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { // TODO Auto-generated method stub super.onListItemClick(l, v, position, id); Class ourclass; String path = classs[position]; try { ourclass = Class.forName("com.example.practise." + path); Intent ourintent = new Intent(Menu.this, ourclass); startActivity(ourintent); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 

La mia class MainFragmentDemoActivity

  • TextView grassetto tramite file xml?
  • Come risolvere questo problema: 'Running android lint' issue
  • Android - Come uscire da un'applicazione quando l'utente fa clic sul button Home?
  • Come visualizzare l'attività quando lo schermo è bloccato?
  • Costruisci android con gradle, sostituisci la string each sapore del prodotto
  • come modificare il colore del bordo relativo?
  •  public class MainFragmentDemoActivity extends Activity implements ListFragmentDemo.Communicator { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_fragmenttesting); } @Override public void Message(String os_name) { DetailFragmentDemo detail=(DetailFragmentDemo)getFragmentManager().findFragmentById(R.id.detail_Fragment); if (detail != null && detail.isInLayout()) { detail.setText(os_name); } } 

    Il mio manifesto

      <activity android:name="com.example.practise.MainFragmentDemoActivity" android:label="MainFragmentDemoActivity" > </activity> 

    Ho altre due liste di class ListFragmentDemo e DetailFragmentDemo.These sono i frammenti che sto implementando da MainFragmentDemoActivity.My xml

      <fragment android:id="@+id/list_Fragment" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" class="com.example.practise.ListFragmentDemo"></fragment> <fragment android:id="@+id/detail_Fragment" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="2" class="com.example.practise.DetailFragmentDemo"> </fragment> 

    logcat

      java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.practise/com.example.practise.MainFragmentDemoActivity} Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class fragment Caused by: java.lang.ClassCastException: com.example.practise.ListFragmentDemo cannot be cast to android.app.Fragment 

    Sto imparando da questo collegamento

    http://www.tutorialsbuzz.com/2014/03/android-fragments-example-ui-multi-pane.html

    il mio elencoFragmentDemo

     package com.example.practise; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.Button; import static android.widget.AdapterView.*; public class ListFragmentDemo extends Fragment implements View.OnClickListener { private Communicator communicator; Button android_btn, ios_btn, window_btn; @Override public void onAttach(Activity activity) { super.onAttach(activity); if (activity instanceof Communicator) { communicator = (Communicator) activity; } else { throw new ClassCastException(activity.toString() + "must implement ListFragmentDemo"); } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.list_fragment, container, false); android_btn = (Button) view.findViewById(R.id.android_btn_id); ios_btn = (Button) view.findViewById(R.id.ios_btn_id); window_btn = (Button) view.findViewById(R.id.windows_btn_id); android_btn.setOnClickListener(this); ios_btn.setOnClickListener(this); window_btn.setOnClickListener(this); return view; } public interface Communicator { public void Message(String os_name); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.android_btn_id: updateFragment("Android"); break; case R.id.windows_btn_id: updateFragment("Windows"); break; case R.id.ios_btn_id: updateFragment("IOS"); break; } } private void updateFragment(String os_name){ communicator.Message(os_name); } 

    }

    Il mio dettaglioFragmentDemo

      package com.example.practise; import android.os.Bundle; import android.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class DetailFragmentDemo extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.detail_fragment,container,false); return view; } // we call this method when button from listfragment is clicked public void setText(String item) { TextView textView=(TextView)getView().findViewById(R.id.display_tv); textView.setText(item); } } 

  • Ricerca di algoritmi di distorsione veloce
  • Come salvare e restituire i cookie al servizio web?
  • come non consentire all'utente di select la data passata nella data-printingnte?
  • AutoCompleteTextView non completare le parole all'interno delle parentesi
  • Fai scoprire Bluetooth in Android 2.1 per un tempo indefinito
  • Come filtrare solo il mio log di applicazioni nel logcat di IntelliJ?
  • 3 Solutions collect form web for “Dovrei dichiarare il MainFragmentDemoActivity in menifest?”

    Il tuo ListFragmentDemo estende da android.support.v4.app.Fragment (la versione di supporto della class Fragment) e non android.app.Fragment (la versione che è all'interno di Android)

    Modificare

     import android.support.v4.app.Fragment; 

    a

     import android.app.Fragment; 

    nella class ListFragmentDemo

    Qualsiasi class che estende l'attività nella tua applicazione deve essere dichiarata nel manifesto, tuttavia, che non sembra essere il tuo problema. Tecnicamente, questo risponde alla tua domanda;)

    Questa linea:

     Caused by: java.lang.ClassCastException: com.example.practise.ListFragmentDemo cannot be cast to android.app.Fragment 

    "ListFragmentDemo" estende il frammento?

    Penso che il problema è che sei Attività (attività principale / attività che ospita i frammenti) non estende la class FragmentActivity .

    Se utilizzi la libreria di supporto per ActionBar , assicuratevi che la class Activity estenda la class ActionBarActivity .

    Ecco perché i tuoi frammenti non possono essere inseriti nell'attività principale (ClassCastException)

    Quindi dovrebbe essere:

     public class MainFragmentDemoActivity extends FragmentActivity .... { 

    o:

     public class MainFragmentDemoActivity extends ActionBarActivity .... { 

    Apri per la correzione, come sempre! Saluti, Edward Chisciotte.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.