【问题标题】:Button works in Main XML but not in other XMLs按钮在 Main XML 中有效,但在其他 XML 中无效
【发布时间】:2019-12-12 14:25:09
【问题描述】:

我的按钮应该将我重定向回我的主要活动布局,但由于某种原因它没有做任何事情。但问题是,我的主要活动布局上的按钮在转到其他布局时有效,反之亦然。

在我的 XML 文件中,我有一个 id 为“scanbuttons”的按钮,如下所示,

<Button
            android:id="@+id/scanbuttons"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:text="scan" />

还有我的 .java 文件中的代码。

public class ScanForm extends AppCompatActivity {                                                                                        

    Button scanButton;                                                                                                               

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


        scanButton = (Button)findViewById(R.id.scanbuttons);                          

        scanButton.setOnClickListener(new View.OnClickListener() {                    
            @Override                                                                 
            public void onClick(View view) {                                          
                Intent scan = new Intent(getApplicationContext(), MainActivity.class);
                startActivity(scan);     }   
});     


没有发现错误,只是单击按钮不会将我带到所需的意图位置,在这种情况下是 MainActivity。

【问题讨论】:

  • 你的按钮在哪里?
  • 你也可以显示 XML 吗?
  • 嗨,我已经更新了我的帖子。对此感到抱歉
  • 你的按钮在activity_scan_form xml中吗?
  • 您确定您正在寻找正确的东西吗?也就是说,您确定没有响应的Activity 实际上是ScanForm&lt;Button&gt;activity_scan_form 布局中唯一的东西吗?是否可能有另一个 View 与它重叠?点击后有视觉反馈吗?

标签: android android-studio android-intent android-button


【解决方案1】:

只需如下更改您的代码,

public class ScanForm extends AppCompatActivity {                                                                                        

    Button scanButton;                                                                                                               

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

        scanButton = (Button)findViewById(R.id.scanbuttons);                          

        scanButton.setOnClickListener(new View.OnClickListener() {                    
            @Override                                                                 
            public void onClick(View view) {                                          
                Intent scan = new Intent(ScanForm.this, MainActivity.class);
                startActivity(scan);     
        }   
});  

我希望这会有所帮助。这是基本意图。您只需提供要导航到另一个上下文的上下文。因此,请尝试将您的 getApplicationcontext() 替换为您的活动上下文。

【讨论】:

  • 您好,感谢您的回复,但同样的问题按钮没有做任何事情。当我点击时没有任何反应,logcat 也没有说什么。
猜你喜欢
  • 2016-01-16
  • 2015-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多