新的Java类不起作用。我究竟做错了什么?

时间:2014-03-02 12:08:37

标签: android eclipse

我只想点击按钮查看文字。我是否需要导入公共布尔值onCreateOptionsMenu(菜单菜单)?或者我做错了什么?我试图导入一些东西,但它没有帮助。 Java的代码:

package com.example.tsd453;

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class Blume extends Activity implements OnClickListener {

    public Button btn;
    public TextView tw;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.blume);

        btn = (Button)findViewById(R.id.BtnKlick);
        tw = (TextView)findViewById(R.id.Text);

        btn.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        tw.setText("Hallo");

XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/Text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginRight="70dp"
        android:layout_marginTop="50dp"
        android:textSize="70sp" />


    <Button
        android:id="@+id/BtnKlick"
        android:layout_width="100dp"
        android:layout_height="70dp"
        android:layout_centerInParent="true"
        android:layout_marginTop="31dp"
        android:text="Button" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

似乎Button正在隐藏TextView,尝试设置边距如下:

<TextView
    android:layout_marginTop="50dp" />

<Button
    android:layout_marginTop="150dp"
   />

并删除中心对齐(至少对其中一个对齐)。

答案 1 :(得分:0)

你可以试试这个:

而不是

btn.setOnClickListener(this);

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

    tw.setText("Hallo");

在你的onCreate中试试这个:

btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            tw.setText("Hallo, Welt!");
        }
    });

并且您不需要在类blume

中“实现onClickListener”

和在按钮的xml文件中使用android:layout_below =“@ id / tw”来设置textview下面的按钮

编辑:

我刚刚在我的nexus 5上尝试过这个代码(我认为它与你的相同)正在工作

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener {

    public Button btn;
    public TextView tw;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn = (Button)findViewById(R.id.BtnKlick);
        tw = (TextView)findViewById(R.id.Text);

        btn.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        tw.setText("Hallo");
    }
}

我删除了选项菜单,但它也可以使用它。

截图: https://copy.com/3TX47IAK9gya

android studio中代码的截图: https://copy.com/hbwnH0vZkzMn