2016-03-26 14 views
0

EDITED -2Navigationsleiste - Fragment nicht angezeigt

Es ist wie die gleiche früher, habe ich versucht zu tun, was Sie sich auf dem ersten taten, die ich habe und durchsuchte einige Anweisungen auf eine Aktivität Umwandlung fragmentieren, aber alle Ich bekomme eine Reihe von Fehlern. Haben Sie auch eine gute Quelle Tutorial oder Informationen zum Konvertieren dieser Art von Dateien? Ich würde es sehr schätzen.

public class Lesson111 extends Activity{ 

    private RadioGroup radioAnswerGroup; 
    private RadioButton radioAnswerButton; 
    private Button btnSubmit; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.onepointthree); 

     addListenerOnButton(); 

    } 

    public void addListenerOnButton() { 

     radioAnswerGroup = (RadioGroup) findViewById(R.id.radioAnswer); 
     btnSubmit = (Button) findViewById(R.id.btnSubmit); 

     btnSubmit.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       // get selected radio button from radioGroup 
       int selectedId = radioAnswerGroup.getCheckedRadioButtonId(); 

       // find the radiobutton by returned id 
       radioAnswerButton = (RadioButton) findViewById(selectedId); 

       Toast.makeText(Lesson111.this, 
         radioAnswerButton.getText(), Toast.LENGTH_SHORT).show(); 

      } 

     }); 

    } 
} 

Hier ist die Haupttätigkeit

public class NavigationActivity extends FragmentActivity { 

    private DrawerLayout mDrawerLayout; 
    ImageView home; 
    Fragment fragment = null; 
    TextView appname; 
    ExpandableListView expListView; 
    HashMap<String, List<String>> listDataChild; 
    ExpandableListAdapter listAdapter; 
    List<String> listDataHeader; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_navigation); 
     home = (ImageView)findViewById(R.id.home); 
     home.setOnClickListener(homeOnclickListener); 
     appname = (TextView)findViewById(R.id.appname); 
     setUpDrawer(); 
    } 

    /** 
    * 
    * Get the names and icons references to build the drawer menu... 
    */ 
    private void setUpDrawer() { 
     mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
     mDrawerLayout.setScrimColor(getResources().getColor(android.R.color.transparent)); 
     mDrawerLayout.setDrawerListener(mDrawerListener); 
     expListView = (ExpandableListView) findViewById(R.id.lvExp); 
     prepareListData(); 
     listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild); 
     // setting list adapter 
     expListView.setAdapter(listAdapter); 
     fragment = new Lesson1(); 
     getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, fragment).commit(); 
     mDrawerLayout.closeDrawer(expListView); 

     expListView.setOnChildClickListener(new OnChildClickListener() { 
      @Override 
      public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { 
       switch (groupPosition) { 
       case 0: 
        switch (childPosition) { 
        case 0: 
         fragment = new Lesson1(); 
         break; 
        case 1: 
         fragment = new Lesson11(); 
         break; 
        case 2: 
         Activity activity = new Lesson111(); 
         break; 
        default: 
         break; 
        } 
        break; 

dies nicht der gesamte Code. Aber ich glaube der Grund, warum das Fragment nicht zeigt, ist wegen dieser Fallaussage. Habe ich etwas verpasst?

+0

Dieser Beitrag bereits hier beantwortet wurde (http://stackoverflow.com/questions/362 41327/can not-resolve-method-madetext) – Dreamer

Antwort

0

Es gibt Tippfehler Fehler in Ihrem Code verwenden Inflater statt inflater

View rootView = Inflater.inflate(R.layout.twopointthree, null); 

mit diesem in Ihrem Code ersetzen.

EDIT - 2, Lesson111 als Fragment

Versuchen Sie, diese

public class Lesson111 extends Fragment{ 
private RadioGroup radioGroup; 


public View onCreateView(LayoutInflater Inflater, ViewGroup container,Bundle savedInstanceState) { 
    View rootView = Inflater.inflate(R.layout.twopointthree, null); 

    /* Initialize Radio Group and attach click handler */ 
    radioGroup = (RadioGroup) rootView.findViewById(R.id.radioGroup); 
    radioGroup.clearCheck(); 

    /* Attach CheckedChangeListener to radio group */ 
    radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(RadioGroup group, int checkedId) { 
      RadioButton rb = (RadioButton) group.findViewById(checkedId); 
      if(null!=rb && checkedId > -1){ 
       Toast.makeText(Lesson111.this, rb.getText(), Toast.LENGTH_SHORT).show(); 
      } 

     } 
    }); 
    return rootView; 
} 

public void onClear(View v) { 
    /* Clears all selected radio buttons to default */ 
    radioGroup.clearCheck(); 
} 

public void onSubmit(View v) { 
    RadioButton rb = (RadioButton) radioGroup.findViewById(radioGroup.getCheckedRadioButtonId()); 
    Toast.makeText(Lesson111.this, rb.getText(), Toast.LENGTH_SHORT).show(); 
} 
} 

In Ihrer Haupttätigkeit

ersetzen
case 2: 
    Activity activity = new Lesson111(); 

mit

case 2: 
    fragment = new Lesson111(); 
+0

Vielen Dank für Ihre Antwort. Allerdings habe ich immer noch einige Fehler. Die setContentView (R.layout.onepointthree); steht auf roter Linie und sagt unerreichbare Aussage. – Dreamer

+0

Allerdings versuche ich, es zu so etwas zu erstellen, aber ich bin nicht sicher, wie man es mit dem obigen Code implementieren. importieren android.os.Bundle; importieren android.support.v4.app.Fragment; importieren android.view.LayoutInflater; importieren android.view.View; importieren android.view.ViewGroup; import com.doepiccoding.navigationdrawer.R; public class Lesson222 erstreckt Fragment { @Override Öffentlichkeit onCreateView (LayoutInflater inflater, Viewgroup Behälter, Bundle savedInstanceState) { Ansicht RootView = inflater.inflate (R.layout.twopointthree, null); Rückgabe rootView; } } – Dreamer

+0

Es gibt keine weiteren Fehler in der Java-Datei. Vielen Dank. Mittlerweile, wenn ich die App starte. Das Fragment wird nicht angezeigt. Ich werde die Hauptaktivität hochladen, damit Sie sehen können. – Dreamer

Verwandte Themen