Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.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 无法在三星A5上使用Toast(2016年)_Java_Android_Android Studio_Toast - Fatal编程技术网

Java 无法在三星A5上使用Toast(2016年)

Java 无法在三星A5上使用Toast(2016年),java,android,android-studio,toast,Java,Android,Android Studio,Toast,上次我在做同一个项目,我能用祝酒词。但今天当我试着用吐司时,什么也看不出来。我尽力解决这个问题,但没有成功 这就是我正在执行的[更新] package com.azeem.abubakar.dbm; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.B

上次我在做同一个项目,我能用祝酒词。但今天当我试着用吐司时,什么也看不出来。我尽力解决这个问题,但没有成功

这就是我正在执行的[更新]

package com.azeem.abubakar.dbm;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;


public class MainActivity extends AppCompatActivity {

    private Button btn_start;

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

        // Initialization
        btn_start = (Button) findViewById(R.id.btn_start);

        //Click Listener for Start Button
        btn_start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View tView) {

                Log.d("[INFO]", "Just Above Toast!");
                Toast.makeText(MainActivity.this, "Start button Clicked", Toast.LENGTH_SHORT).show();
                Log.d("[INFO]", "Just Below Toast!");

            }
        });

    }
}
下面是当我单击开始按钮时Logcat显示的内容

01-13 19:28:36.473 26670-26670/com.azeem.abubakar.dbm D/ViewRootImpl@ede0223[MainActivity]: ViewPostImeInputStage processPointer 0
01-13 19:28:36.474 26670-26670/com.azeem.abubakar.dbm W/System: ClassLoader referenced unknown path: /system/framework/QPerformance.jar
01-13 19:28:36.476 26670-26670/com.azeem.abubakar.dbm E/BoostFramework: BoostFramework() : Exception_1 = java.lang.ClassNotFoundException: Didn't find class "com.qualcomm.qti.Performance" on path: DexPathList[[],nativeLibraryDirectories=[/system/lib, /vendor/lib]]
01-13 19:28:36.538 26670-26670/com.azeem.abubakar.dbm D/ViewRootImpl@ede0223[MainActivity]: ViewPostImeInputStage processPointer 1
01-13 19:28:36.543 26670-26670/com.azeem.abubakar.dbm D/[INFO]: Just Above Toast!
01-13 19:28:36.552 26670-26670/com.azeem.abubakar.dbm D/TextView: setTypeface with style : 0
01-13 19:28:36.560 26670-26670/com.azeem.abubakar.dbm D/[INFO]: Just Below Toast!
01-13 19:28:36.565 26670-26670/com.azeem.abubakar.dbm D/ViewRootImpl@3da3450[Toast]: ThreadedRenderer.create() translucent=true
01-13 19:28:36.571 26670-26670/com.azeem.abubakar.dbm D/InputTransport: Input channel constructed: fd=82
01-13 19:28:36.571 26670-26670/com.azeem.abubakar.dbm D/ViewRootImpl@3da3450[Toast]: setView = android.widget.LinearLayout{5b8d649 V.E...... ......I. 0,0-0,0} touchMode=true
01-13 19:28:36.572 26670-26670/com.azeem.abubakar.dbm D/ViewRootImpl@3da3450[Toast]: dispatchAttachedToWindow
01-13 19:28:36.593 26670-26670/com.azeem.abubakar.dbm D/ViewRootImpl@3da3450[Toast]: Relayout returned: oldFrame=[0,0][0,0] newFrame=[277,1596][802,1728] result=0x27 surface={isValid=true -750856192} surfaceGenerationChanged=true
    mHardwareRenderer.initialize() mSurface={isValid=true -750856192} hwInitialized=true
01-13 19:28:36.594 26670-26713/com.azeem.abubakar.dbm D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000,  [525x132]-format:1
01-13 19:28:36.631 26670-26670/com.azeem.abubakar.dbm D/ViewRootImpl@3da3450[Toast]: MSG_RESIZED_REPORT: frame=Rect(277, 1596 - 802, 1728) ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
01-13 19:28:38.565 26670-26670/com.azeem.abubakar.dbm D/ViewRootImpl@3da3450[Toast]: mHardwareRenderer.destroy()#4
01-13 19:28:38.582 26670-26670/com.azeem.abubakar.dbm D/ViewRootImpl@3da3450[Toast]: dispatchDetachedFromWindow
01-13 19:28:38.591 26670-26670/com.azeem.abubakar.dbm D/InputTransport: Input channel destroyed: fd=82
请帮帮我。谢谢

更新:

已在“设置”中为此应用启用通知

但烤面包片没有出现。据我所知,这可能是设备相关的问题,请纠正我,如果我错了。我之所以说这是一个与设备相关的问题,是因为我上次使用toast时,一切都正常,但在我的三星Galaxy设备toast中安装了一个安全更新后,它根本没有显示出来

我的手机型号是三星A5(2016)。有关软件信息,请查看随附的屏幕截图。

尝试
getApplicationContext()
而不是
getBaseContext()
。转到此链接以查找在何处使用哪个上下文。
尝试更改此选项:

getBaseContext()
getApplicationContext()
getApplication()
this
main活动。this
(android java页面。this)

例如:

Toast.makeText(getApplicationContext(), "Enter Valid File Name!!", Toast.LENGTH_SHORT).show();
请确保在
onTextChanged
方法中使用此选项:

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

    EditText edtxt_fileName = findViewById(R.id.edtxt_fileName);
    edtxt_fileName.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            String fileName = s.toString();
            if (fileName.equals("")) {
                Log.d("[INFO]", "Just Above Toast!");
                Toast.makeText(getApplicationContext(), "Enter Valid File Name!!", Toast.LENGTH_SHORT).show();
                Log.d("[INFO]", "Just Below Toast!");
            }
            else{   // to show every text change 
                Toast.makeText(getApplicationContext(), "Text: " + fileName, Toast.LENGTH_SHORT).show();   
            }
        }

        @Override
        public void afterTextChanged(Editable s) {

        }
    });
尝试更改此选项:

 Toast.makeText(getBaseContext(), "Enter Valid File Name!!", Toast.LENGTH_SHORT).show();
进入:

 Toast.makeText(getApplicationContext(), "Enter Valid File Name!!", Toast.LENGTH_SHORT).show();

1-请验证您是否试图在主线程上显示Toast??如果没有,请尝试此代码

((MainActivity)context).runOnUiThread(new Runnable() {
    public void run() {
           Toast.makeText(MainActivity.this, "Enter Valid File Name!!", Toast.LENGTH_SHORT).show();

    }
});
2-其次,尝试使用YourActivith.this而不是getBaseContext()

3-有时,当键盘打开时,可以看到土司,但在软键盘后面,请先尝试关闭键盘,然后再查看



希望任何人都能帮助你

尝试在oncreate中初始化上下文,并在显示代码时传递该上下文这可能会起作用

使用Toast创建了一个普通项目,一切正常。你改变了什么?在我的项目中,我没有改变任何东西。但我确实在我使用的三星Galaxy设备中安装了安全更新。你能试试我的答案吗?是的,在MainActivity中使用Toast。谢谢您的关注。您找到了解决方案或解决方法了吗?我这里也有同样的问题,除了两个三星A5外,所有设备上都会显示toast!谢谢你的回答。我试过了,但是Toast仍然没有显示。你能再发布一点代码吗?这样我就可以跟踪你的问题了?我只是在按钮的onClick()侦听器中执行这段代码。代码没有问题。应用程序没有崩溃。在调用toast之前和之后,我已经打印了带有[info]标记的信息,您可以在上面的Logcat中进行验证。@AbubakarAzeem让我们尝试将getBaseContext更改为-Activity.this是的,我用Activity更改了它。this。。没有在我的设备上显示谢谢你的回答。我替换了GETBASECONTEXT(),但吐司仍然没有显示。更新我的答案,@ AbubakarAzeem请再次检查我的答案,如果这个或任何答案已经解决了你的问题,考虑通过点击复选标记接受它。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这么做。是的,我理解@guy,我应该标记正确的答案。但是我的问题没有解决,我尝试了所有的建议。请查看我的帖子,我已经更新了。代码中没有问题,Toast正在其他设备上工作。谢谢你的关心。我检查了我设备上的代码,它正在工作。可能是最新消息,抱歉兄弟。谢谢你的回答。我试过了,但没有在我的设备上工作是的,我正在MainActivity中使用Toast。你想在主线程上显示它吗??意味着你不能在背景线程上显示toast,所以你需要确认一下。