首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Studio :如何解决此执行错误

问Android Studio :如何解决此执行错误
EN

Stack Overflow用户
提问于 2019-09-22 04:18:47
回答 3查看 44关注 0票数 0

我是android studio的新手,我不明白为什么当我开始使用探索栏时,我的应用程序会崩溃。谁能帮帮我?

公共类MainActivity扩展AppCompatActivity { SeekBar seekBar;//声明SeekBar object TextView textView,textView2;ListView simpleListview;//为seekbar声明成员变量int start = 50;int start_position = 50;//进度跟踪器int temp = 0;//为ViewStub ViewStub存根声明对象;CheckBox checkBox;Listview lv;//声明列表查看对象按钮按钮;查看视图;

代码语言:javascript
复制
public MainActivity() {
    discrete = 0;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //declare viewstub object
    stub = findViewById(R.id.viewStub1);
    @SuppressWarnings("unused")
    View inflated = stub.inflate();
    stub.setVisibility(View.INVISIBLE);
    //ViewStub logic
    checkBox = findViewById(R.id.checkBox1);
    //handle checkbox click event
    checkBox.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener(){
        public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
            if (isChecked) {
                //remove objs from parent view to allow for child view objs
                checkBox.setVisibility(View.GONE);
                seekBar.setVisibility(View.GONE);
                textView.setVisibility(View.GONE);
                stub.setVisibility(View.VISIBLE);

            }
        }
    });
    //seekbar logic
    textView = findViewById(R.id.textview);
    textView = findViewById(R.id.textView2);
    textView.setText(" Celsius at 0 degrees");



    //set default view
    seekBar = findViewById(R.id.seekbar);
    seekBar.setProgress(start_position);


    //create event handler for SeekBar
    seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {

            if (temp == 0) {
                //for initial view result
                //Toast.makeText(getBaseContext(), "Fahrenheit result: 32 degrees",
                        //Toast.LENGTH_SHORT).show();
                textView2.setText("Fahrenheit result 32 degrees") ;

            }
            else{
                //Toast.makeText(getBaseContext(), "Fahrenheit result: "
                        //+ String.valueOf(discrete) +
                        //" degrees",Toast.LENGTH_SHORT).show();
                textView2.setText("Fahrenheit result:" + String.valueOf(discrete) + "degrees");
            }
        }
        @Override
        public void onStartTrackingTouch(SeekBar seekBar){ }

        @Override
        public void onProgressChanged(SeekBar seekBar,
                                      int progress, boolean fromUser) {
            // To convert progress passed as discrete (Fahrenheit) value
            temp = progress - start;
            discrete = (int) Math.round((((temp * 9.0) /
                    5.0) + 32));
            //convert C to F temp textView.setText(" Celsius at " + temp + " degrees");
            textView.setText(" Celsius at " + temp + " degrees");
        }

    });
EN

回答 3

Stack Overflow用户

发布于 2019-09-22 04:29:12

代码语言:javascript
复制
textView = findViewById(R.id.textview);
textView = findViewById(R.id.textView2);

textView2未在此处初始化...

将上述代码更改为

代码语言:javascript
复制
textView = findViewById(R.id.textview);
textView2 = findViewById(R.id.textView2);
票数 2
EN

Stack Overflow用户

发布于 2019-09-22 13:58:14

TextView textView = findViewById(R.id.textview);TextView textView2 = findViewById(R.id.textView2);

票数 0
EN

Stack Overflow用户

发布于 2019-09-22 17:55:18

初始化textView2您似乎错过了这一部分

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58043801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档