2017-12-29 2 views
0

Ich versuche, eine App zu laufen, aber beim Kompilieren ich diese Fehlermeldungen erhalten:-Code Ausgabe Android Studio

MainFragment.java:62: error: <identifier> expected 
newButton.setOnClickListener(new View.OnClickListener() 
         ^
MainFragment.java:62: error: illegal start of type 
newButton.setOnClickListener(new View.OnClickListener() 
          ^
MainFragment.java:62: error: ')' expected 
newButton.setOnClickListener(new View.OnClickListener() 
          ^ 
MainFragment.java:62: error: ';' expected 
newButton.setOnClickListener(new View.OnClickListener() 
            ^
MainFragment.java:62: error: invalid method declaration; return type  required 
newButton.setOnClickListener(new View.OnClickListener() 
            ^

Dies ist mein Code:

View newButton = rootView.findViewById(R.id.new_button); 

newButton.setOnClickListener(new View.OnClickListener() 
{ 
    @Override 
    public void onClick(View view) 
    { 
     Intent intent = new Intent(getActivity(), GameActivity.class); 
     getActivity().startActivity(intent); 
    } 

}); 

Ich verstehe nicht das Problem, Was ist falsch an meinem Code?

+0

Geben Sie Ihren vollständigen Code ein. –

Antwort

2

Können Sie bitte versuchen, dieses:

  Button btn = (Button) rootView.findViewById(R.id.new_button); 
      btn.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View arg0) { 
        //Do whatever you want 
       Intent intent = new Intent(getActivity(), GameActivity.class); 
       getActivity().startActivity(intent); 
       } 
      }); 

oder einfach können Sie versuchen, indem Sie OnClickListener implementieren:

public class YourFragment extends Fragment implements OnClickListener{ 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

    View rootView = inflater.inflate(R.layout.your_fragment, container, false); 
    Button btn = (Button) rootView.findViewById(R.id.new_button); 
    btn.setOnClickListener(this); 
return rootView; 
} 

@Override 
    public void onClick(View v) { 
    switch (v.getId()) { 
    case R.id.new_button: 

     // 
    Intent intent = new Intent(getActivity(), GameActivity.class); 
    getActivity().startActivity(intent); 

     break; 
    } 
} 

Ich hoffe, dies wird Ihnen helfen, Ihr Problem zu lösen.

+0

Kein Problem, Alter. Fröhliche Codierung !!! –

0

Ändern Sie den Referenztyp in die Schaltfläche. Die Klasse View stellt nur die Methode onclickListener zur Verfügung, sie selbst hat keine Implementierung davon.

Button newButton = (Button) rootView.findViewById(R.id.new_button);

1

Ihre Zahnspange überprüfen und überprüfen, ob Sie die RootView properly.Please Post zurückgekehrt sind Sie voll ~ onCreateView() ~ von Ihnen

fragmentieren