在我的程序中,提供"App不断停止"的错误信息是在打开那个活动的同时? [英] What is false in my program that gives "App keeps stopping" while opening that activity?

查看:38
本文介绍了在我的程序中,提供"App不断停止"的错误信息是在打开那个活动的同时?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

应用程序正常打开,但在打开此活动时显示应用程序不断停止".我不明白这是什么问题.也许API级别与calendar.get()不兼容?如果可以,我该如何解决?

Application open normal but while opening this activity it says "App keeps stopping". I don't understand what is the problem. Maybe API level is not compatible with calendar.get() ? If so how can I fix it ?

public class SearchRide extends AppCompatActivity {

int p=1;
private int year,month,day;
Calendar calendar=Calendar.getInstance();
final EditText etDate=(EditText) findViewById(R.id.etDate);


protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_search_ride);






    TextView tFrom=(TextView) findViewById(R.id.tFrom);
    TextView tTo=(TextView) findViewById(R.id.tTo);
    EditText etFrom=(EditText) findViewById(R.id.etFrom);
    EditText etTo=(EditText) findViewById(R.id.etTo);
    Button bSearch=(Button) findViewById(R.id.bSearch);
    ImageView iplussign=(ImageView) findViewById(R.id.iplussign);
    ImageView iminussign=(ImageView) findViewById(R.id.iminussign);
    final TextView tNumber=(TextView) findViewById(R.id.tNumber);

    tNumber.setText(String.valueOf(p));
    iplussign.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(p<=9) {
                p++;
                tNumber.setText(String.valueOf(p));
            }
        }
    });
    iminussign.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(p>=2) {
                p--;
                tNumber.setText(String.valueOf(p));
            }
        }
    });
    etFrom.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent ListFrom=new Intent(SearchRide.this,ListFrom.class);
            SearchRide.this.startActivity(ListFrom);


        }
    });
    etTo.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent ToList =new Intent(SearchRide.this,ListTo.class);
            SearchRide.this.startActivity(ToList);
        }
    });

    etDate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            new DatePickerDialog(SearchRide.this,listener,calendar.get(Calendar.DAY_OF_MONTH),calendar.get(Calendar.MONTH),calendar.get(Calendar.YEAR)).show();

        }
    });
}
DatePickerDialog.OnDateSetListener listener= new DatePickerDialog.OnDateSetListener() {
    @Override
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

        etDate.setText("4");



    }
};

}

推荐答案

您不能在OnCreate方法之外设置此代码.由于尚未创建布局,因此无法找到ViewById,因为它们的活动尚无内容.您必须先执行 setContentView ,然后再对将要添加到活动中的视图进行任何操作.

You cannot set this code outside of OnCreate method. Because your layout has not been created yet, you cannot findViewById since they activity has no content. You must setContentView before you do anything regarding your views that will be added to your activity.

final EditText etDate=(EditText) findViewById(R.id.etDate);

设置这些对象而不初始化它们,然后在 setContentView(LAYOUT);

Set these objects without initializing them, and then initialize in your onCreate after you setContentView(LAYOUT);

EditText etDate;

public void onCreate(Bundle savedIntanceState) {
    ....

    etDate = findViewById(R.id.etDate);

这篇关于在我的程序中,提供"App不断停止"的错误信息是在打开那个活动的同时?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆