[英]Code issue 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()
^
這是我的代碼:
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);
}
});
我不明白問題所在,我的代碼有什么問題?
您能嘗試一下嗎:
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);
}
});
或者簡單的可以通過實現OnClickListener來嘗試:
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;
}
}
希望這將有助於解決您的問題。
檢查括號並檢查是否正確返回了rootview。請完整地粘貼片段的〜onCreateView()〜
將您的引用類型更改為button。 View
類僅提供onclickListener
方法,而她自己沒有該方法的實現。
Button newButton = (Button) rootView.findViewById(R.id.new_button);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.