Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用Snackbar内部类替换Toast_Java_Android_Snackbar - Fatal编程技术网

Java 用Snackbar内部类替换Toast

Java 用Snackbar内部类替换Toast,java,android,snackbar,Java,Android,Snackbar,我们想用下面代码中的Snackbar来代替这个土司 我尝试过各种配置,结果很接近,但没有获奖 我的最佳配置不接受make Snackbar中的LENGTH\u SHORT 有人能解释一下Snackbar代码放在哪里,以及为什么不接受LENGTH\u SHORT private void addListenerOnButton_ADD() { btnAdd.setOnClickListener(new View.OnClickListener() { @Overr

我们想用下面代码中的Snackbar来代替这个土司 我尝试过各种配置,结果很接近,但没有获奖 我的最佳配置不接受make Snackbar中的
LENGTH\u SHORT

有人能解释一下Snackbar代码放在哪里,以及为什么不接受
LENGTH\u SHORT

    private void addListenerOnButton_ADD() {
    btnAdd.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            if(ETinput.getText().length()==0){
                Toast.makeText(MainActivity.this,"Enter a Value",Toast.LENGTH_SHORT).show();
                // REMOVE THIS Toast and insert Snackbar
                //======================================
                return;
            }
                    ......

        }
    });
}
这是编辑

    private void addListenerOnButton_ADD(final AlteredCharSequence Snackbar) {
    btnAdd.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            if(ETinput.getText().length()==0){
                Toast.makeText(MainActivity.this,"Enter a Value",Toast.LENGTH_SHORT).show();
                // REMOVE THIS Toast and insert Snackbar
                //======================================
                Snackbar.make(findViewById(android.R.id.content), "Had a snack at Snackbar", Snackbar.LENGTH_LONG)
                        .setActionTextColor( Color.RED)
                        .show();
                return;
            }

            int Y = Integer.valueOf(ETinput.getText().toString().trim());
            int Z = Y + X;
            ETans.setText(String.valueOf(Z));

            //float Y = Float.valueOf(ETinput.getText().toString().trim());
            //float Z = Y + X;
            //ETans.setText(String.valueOf(Z));
        }
    });
}
用这个

Snackbar snackbar;

btnAdd.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            snackbar = Snackbar.make(view, "Enter a Value", Snackbar.LENGTH_LONG);
            if(ETinput.getText().length()==0){



    snackbar.show();

  return;
            }
                    ......

        }
    });
}

如果您希望持续时间不确定,请使用can
Snackbar.LENGTH\u indimited
,当您想要解除锁定时,只需使用
Snackbar.disimiter()

使用
设置ClickListener
中的
视图作为
Snackbar的第一个参数。make
方法:

private void addListenerOnButton_ADD(final AlteredCharSequence Snackbar) {
    btnAdd.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            if(ETinput.getText().length()==0){
                Snackbar.make(view, "Enter a Value", Snackbar.LENGTH_SHORT).setAction("Action", null).show();
                return;
            }

            int Y = Integer.valueOf(ETinput.getText().toString().trim());
            int Z = Y + X;
            ETans.setText(String.valueOf(Z));

            //float Y = Float.valueOf(ETinput.getText().toString().trim());
            //float Z = Y + X;
            //ETans.setText(String.valueOf(Z));
        }
    });
}

请说明您是如何实现它的(Snackbar),为了说明如何修复它,您到底尝试了什么?一些代码可能是您试图生成的Snackbar@James_Duh,编辑原始帖子并添加新代码。还显示初始化视图变量的代码。@Gary Bak此编辑将不允许LENGTH_LONG函数它还更改了此语句addListenerOnButton_ADD(Snackbar);
最终AlteredCharSequence Snackbar的要点是什么?将参数名称从
Snackbar
更改为类似
charSequence
的名称。此配置仍会显示错误。任何其他想法此答案都非常模糊,它不试图解释所提到的“视图”变量是Snackbar的基础视图所必需的。必须设置此视图变量,可能作为类成员,并在创建snackbar之前初始化。@Vishwesh Jainkuniya IDE希望我创建类或内部类或接口加视图视图声明如下,因此make中的视图将无效null或只是不使用您的配置仍然给我长度\u LONG IDE告诉我无法解析符号我不想说这正在成为一个主要问题为什么这么难?你能给我发一下build.gradle文件(module:app)依赖项的代码吗?IDE建议创建类创建内部类或重命名引用或引入局部变量,长度保持reddependences{compile fileTree(包括:['*.jar'],dir:'libs'))编译'com.android.support:appcompat-v7:24.2.0'编译文件('libs/junit-4.12.jar')编译'com.google.android.gms:play services appindexing:9.4.0'尝试添加我是否缺少编译'com.android.support:design:23.4.0'