2017-06-13 12 views
-1

主なアクティビティのコードは以下のとおりです。私はAndroidスタジオでSQLを学び始めました。私はそれ以上の質問に答えます。sqliteを使ったときにAndroidアプリが起動しない

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.Button; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 

    EditText inputField; 
    Button insButton,delButton; 
    TextView outputField; 
    SQLHandler handler; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     inputField=(EditText)findViewById(R.id.input); 
     insButton=(Button)findViewById(R.id.insertButton); 
     delButton=(Button)findViewById(R.id.deleteButton); 
     outputField=(TextView)findViewById(R.id.output); 

     showOutput(); 
    } 

    private void showOutput() { 
     String text=handler.showName(); 
     outputField.setText(text); 
    } 

    public void onClick(View v) { 
     switch (v.getId()) { 
      case R.id.insertButton: 
       USER_DETAILS details=new USER_DETAILS(inputField.getText().toString()); 
       handler.addName(details); 
       inputField.setText(""); 
       showOutput(); 
       break; 
      case R.id.deleteButton: 
       handler.delName(inputField.getText().toString()); 
       showOutput(); 
       inputField.setText(""); 
       break; 
     } 
    } 
} 

私は検索しましたが、何も見つかりませんでした。エラーはコンポーネント情報を開始できず、仮想メソッドを呼び出すことができません。時間ありがとうございました。

+0

スタックトレースを添付できますか? –

答えて

0

DBハンドラをインスタンス化するのを忘れてしまったようです(主なアクティビティに追加した場合)。したがって、コードは、

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     handler=new SQLHandler(this); 
     inputField=(EditText)findViewById(R.id.input); 
     insButton=(Button)findViewById(R.id.insertButton); 
     delButton=(Button)findViewById(R.id.deleteButton); 
     outputField=(TextView)findViewById(R.id.output); 
     showOutput(); 
    } 

になります。クラスに応じてSQLHandler()の引数を変更します。

関連する問題