2017-06-13 67 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; 
     } 
    } 
} 

我已經搜索,但沒有找到任何東西在stackoverflow。該錯誤無法啓動組件信息,也無法調用虛擬方法。謝謝你的時間。

+0

你可以附加堆棧跟蹤嗎? –

回答

0

好像你忘了實例化DBhandler,如果你確實添加它在主要活動中。所以代碼將是,

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()的參數。

相關問題