2016-12-30 4 views
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); 


      } 

    } 
+2

'MainMenu.Java'を起動するとクラッシュしました。データベースクラスのlogcatをポストします –

+1

' nem == "" http://www.javacoffeebreak.com/articles/toptenerrors.html – Blundell

+0

オーバーライドメソッドの@Overrideアノテーション – eLemEnt

答えて

1

があるため、この

name=(EditText)findViewById(R.id.username); 

name=(EditText)dialog.findViewById(R.id.username); 

に変更それであるかもしれませんカスタムダイアログ。

解決されていない場合は、スタックトレースを印刷します。

関連する問題