我想在我的Android項目上做一些簡單的SQLite工作。 (this,null, null,null 1)
MyDBHandler中的MyDBHandler()行不能應用於此。 我有一種感覺,這是因爲這是一個片段,而不是通常的活動。有任何想法嗎?SQLite上的一個片段
package com.test.test.sql;
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.Button;
import android.widget.EditText;
import android.widget.TextView;
/**
* A simple {@link Fragment} subclass.
*/
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
return inflater.inflate(R.layout.fragment_memo, container, false);
Input = (EditText) getView().findViewById(R.id.Input);
LyricText = (TextView) getView().findViewById (R.id.LyricText);
dbHandler = new MyDBHandler(this, null, null, 1);
printDatabase();
}
//add lyric to database
public void addButtonClicked(View view){
Lyrics lyrics = new Lyrics(Input.getText().toString());
dbHandler.addLyric(lyrics);
printDatabase();
}
//delete items
public void deleteButtonClicked(View view){
String inputText = Input.getText().toString());
dbHandler.deleteLyrics(inputText);
printDatabase();
}
public void printDatabase(){
String dbString = dbHandler.databasetoString();
LyricText.setText(dbString);
Input.setText("");
}
}
哪裏是'addLyrics()'定義的方法? –
@BobMalooga它在MyDBHandler中定義。我修正了這個錯誤,它需要'addLyric()'而不是'addLyrics()'我覺得主要的問題是'findViewById'似乎不能在一個片段中工作 – DinoArmadillo
你的錯誤與'findViewById()'無關。 。在碎片內完美運作。 –