Java 按钮单击事件以更新Android Studio中的TextView。生成时没有错误,但不起作用

Java 按钮单击事件以更新Android Studio中的TextView。生成时没有错误,但不起作用,java,android,android-button,Java,Android,Android Button,已解决:问题在于java没有运行,而不是代码本身。修正了这个问题,按钮就起作用了 当我在模拟器中按下按钮时,我的按钮(看起来)什么都不做。我试图在按下按钮时更新文本。我开始阅读,和其他回答的问题,但即使直接复制粘贴代码投票作为正确答案从众多的问题,并更新与我的项目名称,我仍然无法让它工作 这是当前的java代码: public class PlusMinus extends Activity { TextView mcvalue; Button sub; @Override protect

已解决:问题在于java没有运行,而不是代码本身。修正了这个问题,按钮就起作用了

当我在模拟器中按下按钮时,我的按钮(看起来)什么都不做。我试图在按下按钮时更新文本。我开始阅读,和其他回答的问题,但即使直接复制粘贴代码投票作为正确答案从众多的问题,并更新与我的项目名称,我仍然无法让它工作

这是当前的java代码:

public class PlusMinus extends Activity {

TextView mcvalue;
Button sub;

@Override

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_fullscreen);
    mcvalue= (TextView) findViewById(R.id.mcvalue);
    sub= (Button) findViewById(R.id.bSub5MC);

    sub.setOnClickListener(new View.OnClickListener() {

        public void onClick(View paramView) {
            mcvalue.setText("Click");
        }
    });

}}
这是我要更新的文本对应的.xml和按钮。围绕它的还有更多的.xml文件与我使用的表布局有关,但我认为这并不相关(如果是的话,我可以将整个内容添加进去)


我想将显示为“MC”的@string/megacredits_name的文本替换为“Click”。最终,我的计划是用它做一些加法/减法运算,但在扩展之前先尝试找出最简单的构建块

多谢各位


编辑:LogCat被删除,因为它没有帮助

将文本视图和按钮的android:layout\u width=“0dp”更改为android:layout\u width=“wrap\u content”。 然后ID到文本视图,即android:ID=“@+ID/mcvalue”


在布局文件中放置布局权重:

<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
<Button
    android:id="@+id/bSub5MC"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical|center_horizontal"
    android:keepScreenOn="false"
    android:text="click"
    android:textSize="20sp" />

<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="#FFD700"
    android:id="@+id/mcvalue"
    android:layout_weight="1"
    android:layout_gravity="center_vertical|center_horizontal"
    android:text="name"
    android:textColor="#000000"
    android:textSize="20sp" />

</LinearLayout>

我试过了,但没用。布局宽度和点击按钮之间是否有联系?将id设置为文本视图我单击运行,然后在屏幕底部单击logcat,然后粘贴到上方。感谢您的帮助。首先,您使用TEXTVIEW layout_width=“0dp”来包装内容。我想这就是问题所在,我没有收到任何错误,但当我单击按钮bSub5MC时,我看到的任何地方都没有发生任何事情。假设我对这个很陌生,所以这很可能是我对这个工具的误解。非常感谢。编辑以添加:我希望当我单击bSub5MC按钮时,id为MCValue的TextView将更改为“单击”已解决:使用toast确定PlusMinus类中没有任何内容实际运行,并通过修复该问题解决了该问题。
<TextView
        android:id="@+id/mcvalue"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#FFD700"
        android:layout_gravity="center_vertical|center_horizontal"
        android:text="@string/megacredits_name"
        android:textColor="#000000"
        android:textSize="20sp" />  
<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
<Button
    android:id="@+id/bSub5MC"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical|center_horizontal"
    android:keepScreenOn="false"
    android:text="click"
    android:textSize="20sp" />

<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="#FFD700"
    android:id="@+id/mcvalue"
    android:layout_weight="1"
    android:layout_gravity="center_vertical|center_horizontal"
    android:text="name"
    android:textColor="#000000"
    android:textSize="20sp" />

</LinearLayout>
  TextView mcvalue;
    Button sub;

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

        mcvalue= (TextView) findViewById(R.id.mcvalue);
        sub= (Button) findViewById(R.id.bSub5MC);

        sub.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mcvalue.setText("click");
            }
        });
}