Android OnClick侦听器错误 我试图用片段创建和应用程序作为基础,在其中一个片段中,我想要一个基本SQLite,用户可以在其中添加备忘录。 我目前一直坚持将侦听器包含在Java中,而不是XML中。我目前收到以下错误 C:\Users\Luke\AndroidStudioProjects\ShardswithFragments\app\src\main\java\com\test\test\app\MemoFragment.java Error:(43, 40) error: <identifier> expected Error:(43, 41) error: illegal start of type Error:(43, 44) error: ')' expected Error:(43, 49) error: ';' expected Error:(43, 50) error: invalid method declaration; return type required Error:(44, 9) error: illegal start of expression Error:(44, 16) error: illegal start of expression Error:(44, 28) error: ';' expected Error:(44, 35) error: ';' expected Error:(51, 43) error: <identifier> expected Error:(51, 44) error: illegal start of type Error:(51, 47) error: ')' expected Error:(51, 52) error: ';' expected Error:(51, 53) error: invalid method declaration; return type required Error:(52, 9) error: illegal start of expression Error:(52, 16) error: illegal start of expression Error:(52, 28) error: ';' expected Error:(52, 35) error: ';' expected Error:Execution failed for task ':app:compileDebugJavaWithJavac'. > Compilation failed; see the compiler error output for details.

Android OnClick侦听器错误 我试图用片段创建和应用程序作为基础,在其中一个片段中,我想要一个基本SQLite,用户可以在其中添加备忘录。 我目前一直坚持将侦听器包含在Java中,而不是XML中。我目前收到以下错误 C:\Users\Luke\AndroidStudioProjects\ShardswithFragments\app\src\main\java\com\test\test\app\MemoFragment.java Error:(43, 40) error: <identifier> expected Error:(43, 41) error: illegal start of type Error:(43, 44) error: ')' expected Error:(43, 49) error: ';' expected Error:(43, 50) error: invalid method declaration; return type required Error:(44, 9) error: illegal start of expression Error:(44, 16) error: illegal start of expression Error:(44, 28) error: ';' expected Error:(44, 35) error: ';' expected Error:(51, 43) error: <identifier> expected Error:(51, 44) error: illegal start of type Error:(51, 47) error: ')' expected Error:(51, 52) error: ';' expected Error:(51, 53) error: invalid method declaration; return type required Error:(52, 9) error: illegal start of expression Error:(52, 16) error: illegal start of expression Error:(52, 28) error: ';' expected Error:(52, 35) error: ';' expected Error:Execution failed for task ':app:compileDebugJavaWithJavac'. > Compilation failed; see the compiler error output for details.,android,onclicklistener,Android,Onclicklistener,您不能在方法范围之外设置侦听器,下面是正确的代码 public class MemoFragment extends Fragment{ EditText Input; TextView LyricText; MyDBHandler dbHandler; Button addButtonClicked; Button deleteButtonClicked; public MemoFragment() { // Required empty p

您不能在方法范围之外设置侦听器,下面是正确的代码

public class MemoFragment extends Fragment{
    EditText Input;
    TextView LyricText;
    MyDBHandler dbHandler;
    Button addButtonClicked;
    Button deleteButtonClicked;


public MemoFragment() {
    // Required empty public constructor

}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                        Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View v = inflater.inflate(R.layout.fragment_memo, container, false);

    Input = (EditText) v.findViewById(R.id.Input);
    LyricText = (TextView) v.findViewById (R.id.LyricText);
    addButtonClicked = (Button) v.findViewById(R.id.addButton);
    deleteButtonClicked = (Button) v.findViewById(R.id.deleteButton);
    dbHandler = new MyDBHandler(getActivity() ,null, null, 1);
    printDatabase();

    //add to db
    addButtonClicked.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Lyrics lyrics = new Lyrics(Input.getText().toString());
            dbHandler.addLyric(lyrics);
            printDatabase();
        }
    });

    //delete from db
    deleteButtonClicked.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v){
            String inputtext = Input.getText().toString();
            dbHandler.deleteLyrics(inputtext);
            printDatabase();

        }
    });

    return v;
}

// printout entry
public void printDatabase(){
    String dbString = dbHandler.databaseToString();
    LyricText.setText(dbString);
    Input.setText("");
}

}

您正在尝试将侦听器添加到任何方法之外的类字段。将你的设置移动到OnClickListener内部OnCreateViewThank先生真的很感激
public class MemoFragment extends Fragment{
    EditText Input;
    TextView LyricText;
    MyDBHandler dbHandler;
    Button addButtonClicked;
    Button deleteButtonClicked;


public MemoFragment() {
    // Required empty public constructor

}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                        Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View v = inflater.inflate(R.layout.fragment_memo, container, false);

    Input = (EditText) v.findViewById(R.id.Input);
    LyricText = (TextView) v.findViewById (R.id.LyricText);
    addButtonClicked = (Button) v.findViewById(R.id.addButton);
    deleteButtonClicked = (Button) v.findViewById(R.id.deleteButton);
    dbHandler = new MyDBHandler(getActivity() ,null, null, 1);
    printDatabase();

    //add to db
    addButtonClicked.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Lyrics lyrics = new Lyrics(Input.getText().toString());
            dbHandler.addLyric(lyrics);
            printDatabase();
        }
    });

    //delete from db
    deleteButtonClicked.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v){
            String inputtext = Input.getText().toString();
            dbHandler.deleteLyrics(inputtext);
            printDatabase();

        }
    });

    return v;
}

// printout entry
public void printDatabase(){
    String dbString = dbHandler.databaseToString();
    LyricText.setText(dbString);
    Input.setText("");
}

}