【问题标题】:Why is my program crashing when i click on the button?为什么单击按钮时程序会崩溃?
【发布时间】:2016-05-24 15:23:53
【问题描述】:

我正在做我的计算课程,每次我尝试运行我的应用程序并进入此活动时,它都会崩溃并说不幸的是活动已停止。如果我从 (-----) 行中删除代码的最后一部分,则该活动将出现并有效。但有了它,它就行不通了。有谁知道为什么会这样以及我该如何解决。

    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.LinearLayout;
    import android.widget.Spinner;
    import android.widget.TextView;

    public class BedroomDoorSigns extends AppCompatActivity {
        private String[] wood;
        private Spinner spinner;
        private String[] colour;
        private String[] size;
        private Button mButton;
        private LinearLayout mLayout;
        private EditText mEditText;


        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.content_bedroom_door_signs);

            wood = getResources().getStringArray(R.array.wood_list);
            spinner = (Spinner) findViewById(R.id.wood_spinner);
            colour = getResources().getStringArray(R.array.colour_list);
            spinner = (Spinner) findViewById(R.id.colour_spinner);
            size = getResources().getStringArray(R.array.size_list);
            spinner = (Spinner) findViewById(R.id.size_spinner);
            Button Buttons = (Button) findViewById(R.id.Cart);
            mLayout = (LinearLayout) findViewById(R.id.linearLayout);
            mEditText = (EditText) findViewById(R.id.editText);
            mButton = (Button) findViewById(R.id.button);
            mButton.setOnClickListener(onClick());
            TextView textView = new TextView(this);
            textView.setText("New text");


            ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, wood);
            dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(dataAdapter);

            ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, colour);
            dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(dataAdapter2);

            ArrayAdapter<String> dataAdapter3 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, size);
            dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(dataAdapter3);

        }

public View.OnClickListener onClick() {
        return new View.OnClickListener() {


            public void onClick(View v) {
                mLayout.addView(createNewTextView(mEditText.getText().toString()));
            }
        };
    }

    public TextView createNewTextView(String text) {
        final ViewGroup.LayoutParams lparams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        final TextView textView = new TextView(this);
        textView.setLayoutParams(lparams);
        textView.setText("BASKET: " + text);
        return textView;
    }
}

谢谢

【问题讨论】:

  • @09Emi,请发布您的日志猫

标签: android string class textview public


【解决方案1】:

java.lang.NullPointerException:尝试在 com.example.emily.activity414timber.BedroomDoorSigns.onCreate 的空对象引用上调用虚拟方法 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' (BedroomDoorSigns.java:41) 在

您的按钮对象 (mButton) 为 null,因此当您在该对象上调用“setOnclickListner”方法时,它会抛出“nullpointerexception”

【讨论】:

    【解决方案2】:

    这样试试

    mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mLayout.addView(createNewTextView(mEditText.getText().toString()));
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多