1

该应用程序工作正常,直到我为按钮分配一个 Id,然后它开始变得无响应。代码最少,但我在另一个小测试项目中遇到了同样的事情。问题是我不明白为什么它不起作用,尤其是如何修复它,即使我做了所有的互联网搜索。我刚开始学习 Android 基础知识,所以如果错误看起来太简单,我深表歉意。任何帮助是极大的赞赏。谢谢。

主要课程:

public class Test extends Activity 
{
/**
 * Called when the activity is first created.
 */
@Override
public void onCreate(Bundle savedInstanceState) 
    {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button m = (Button) findViewById(R.id.test);
    m.setOnClickListener
      (
      new View.OnClickListener() 
        {
        public void onClick(View v) 
          {
                    // some code
          }
        }
      );
    }
}

这是 main.xml


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

<Button 
    android:id="@+id/test"
    android:text="asdas"
></Button>
</LinearLayout>
4

3 回答 3

1

您还需要android:layout_width & height按钮的属性,我不确定您是否可以按照现在的方式进行编译。

于 2013-03-28T13:49:58.453 回答
1

至少android:layout_widthandroid:layout:height缺失,所以按钮无法显示。你可以做的是使用 Eclipse 的 android sdk 提供的图形布局编辑器,从那里添加一个按钮,然后观察 xml 是如何构建的,以完全理解所有参数。

于 2013-03-28T14:03:06.067 回答
0

您需要指定按钮的宽度和高度。

例子:

<Button 
    android:text="Click"
    android:layout_width="100dp"
    android:layout_height="50dp" />
</Button>

其中 dp (dip) 是与密度无关的像素:更多

如果没有这些属性,应用程序将编译,但以错误结束:

Unable to start activity ComponentInfo... You must supply a layout_width attribute.
于 2013-03-28T14:13:34.877 回答