【问题标题】:Calling Multiple Layouts in One Activity on 2 different Call Backs在 2 个不同的回调上在一个 Activity 中调用多个布局
【发布时间】:2013-02-18 19:28:12
【问题描述】:

我正在做的是在我的活动开始时初始化布局。每当单击该布局上的按钮时,都会在同一活动中初始化另一个布局。每当我单击正在做一些有关插入数据库记录的工作时。即使忽略数据库部分,我也会在 logcat 中获取 java 空指针异常。请看看并指导我

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();

                }
            });
        }
    });

}

}

【问题讨论】:

    标签: android android-layout android-button


    【解决方案1】:

    不建议多次拨打setContentView。我建议您为您的应用程序使用不同的片段,或者至少让第一个布局包含您需要的所有视图并根据您的需要隐藏/显示它们。如果你坚持对同一个活动使用不同的布局,那么你可以看看here

    【讨论】:

    • 你能简化一下你的答案吗??
    • 可能会更详细一点。谢谢你:)
    • 使用 Fragments 并将活动的功能拆分为 2 个片段或修改您的布局,以便管理员布局拥有 add_employee 布局所需的所有视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多