已解决:问题在于java没有运行,而不是代码本身。修正了这个按钮的工作原理。
当我在模拟器中按下它时,我的按钮(似乎)没有。我按下按钮时尝试更新文本。我开始阅读Android Dev Button Guide,以及其他已回答的问题,但即使直接复制粘贴代码从众多问题中选出正确答案,并使用我的项目名称更新,我仍然无法使其正常工作。
这是当前的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环绕它与我使用的表格布局有关,但我不认为这是相关的(如果它是我可以添加整个事情)。
<Button
android:id="@+id/bSub5MC"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:keepScreenOn="false"
android:text="@string/subtract_five"
android:textSize="20sp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#FFD700"
android:layout_gravity="center_vertical|center_horizontal"
android:id="@+id/mcvalue"
android:text="@string/megacredits_name"
android:textColor="#000000"
android:textSize="20sp" />
我想用“Click”替换显示为“MC”的@ string / megacredits_name文本。最终我的计划是用它做一些加/减,但是在扩展它之前先试着弄清楚最简单的构建块。
谢谢
编辑:删除LogCat,因为它没有帮助。
将android:layout_width =“0dp”更改为TextView和Button的android:layout_width =“wrap_content”。然后ID到TextView,即android:id =“@ + id / mcvalue”
<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" />
在布局文件中放置layout_weight:
<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>
并在java文件中:
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");
}
});
}