1

やっていることは、アクティビティの開始時にレイアウトを初期化することです。そのレイアウトのボタンがクリックされるたびに、同じアクティビティで別のレイアウトが初期化されます。クリックするたびに、データベース レコードの挿入に関する作業を行っています。データベース部分を無視しても、logcat で Java null ポインタ例外が発生します。親切に見て、私を導いてください

package com.example.emp_management;

import android.app.Activity;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.provider.SyncStateContract.Columns;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.example.emp_management.DatabaseHelper;

public class Administrator_Work extends Activity{

@Override
protected void onCreate(Bundle adminkakaam) {
    // TODO Auto-generated method stub

    super.onCreate(adminkakaam);
    setContentView(R.layout.administrator);
    Toast.makeText(this, "Logged in as Administrator!",Toast.LENGTH_LONG).show();
    final EditText new_user = (EditText) findViewById(R.id.editText1);
    final EditText new_pass = (EditText) findViewById(R.id.textView2);
    Button add_emp = (Button)findViewById(R.id.addemployee);
    final Button create_acc = (Button) findViewById(R.id.creat_acc);
    add_emp.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub 
            setContentView(R.layout.add_employee);
            create_acc.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    //DatabaseHelper accessing_db = new DatabaseHelper(Administrator_Work.this);
                    //accessing_db.insert_new_user(new_user.getText().toString(), new_pass.getText().toString());
                    //Toast.makeText(getApplicationContext(), "New User Has Been Created!!", Toast.LENGTH_SHORT).show();

                }
            });
        }
    });

}

}
4

1 に答える 1

1

setContentView何度も電話することはお勧めしません。アプリケーションに異なるフラグメントを使用するか、少なくとも最初のレイアウトに必要なすべてのビューを含め、必要に応じて表示/非表示にすることをお勧めします。同じアクティビティに異なるレイアウトを使用することを主張する場合は、こちらをご覧ください。

于 2013-02-18T19:38:45.643 に答える