1
私はアプリケーションをビルドしていますが、XMLからレイアウトされたレイアウトのカスタムダイアログを表示したいと思います。このダイアログは、ユーザーに名前の入力を要求し、[OK]をクリックするのに使用されます。名前はSQLiteデータベースの中に保存する必要があります。初めてデータベースに名前を挿入する方法、xmlでカスタムダイアログを表示する方法
残念ながら、MainMenu.java
アクティビティを実行するとアプリがクラッシュします。
これは私のコードです:あなたはあなたがeditextを示さなければならないと言っているよう
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainMenu extends Activity {
Cursor model=null;
final Context context = this;
Helper Helper=null;
Cursor Nama=null;
EditText name=null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_menu);
Helper=new Helper(this);
String Nem = Helper.getNama(Nama);
if (Nem=="") {
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.dialogmintanama);
Button dialogButton = (Button) dialog.findViewById(R.id.OKbutton);
dialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
name=(EditText)findViewById(R.id.username);
Helper.insert(name.getText().toString(),"","");
dialog.dismiss();
}
});
dialog.show();
}
}
public void Start(View v) {
final Intent i = new Intent(getApplicationContext(), ListMenu.class);
startActivity(i);
}
}
'MainMenu.Java'を起動するとクラッシュしました。データベースクラスのlogcatをポストします –
' nem == "" http://www.javacoffeebreak.com/articles/toptenerrors.html – Blundell
オーバーライドメソッドの@Overrideアノテーション – eLemEnt