运行应用程序时无法加载视图
我正在为 Android 编写第一个应用程序,但无法加载 xml 布局。我查看了参考资料,似乎找不到问题。代码编译并运行,但屏幕上显示的只是一个黑色页面,状态和标题栏位于顶部。
有什么想法
public void OnCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
View cancelButton= findViewById(R.id.button1);
cancelButton.setOnClickListener(this);
View sevenButton= findViewById(R.id.button2);
sevenButton.setOnClickListener(this);
View fourButton= findViewById(R.id.button3);
fourButton.setOnClickListener(this);
View oneButton= findViewById(R.id.button4);
oneButton.setOnClickListener(this);
View zeroButton= findViewById(R.id.button5);
zeroButton.setOnClickListener(this);
View divideButton= findViewById(R.id.button6);
divideButton.setOnClickListener(this);
View eightButton= findViewById(R.id.button7);
eightButton.setOnClickListener(this);
View fiveButton= findViewById(R.id.button8);
fiveButton.setOnClickListener(this);
View twoButton= findViewById(R.id.button9);
twoButton.setOnClickListener(this);
View pointButton= findViewById(R.id.button10);
pointButton.setOnClickListener(this);
View timesButton= findViewById(R.id.button11);
timesButton.setOnClickListener(this);
View nineButton= findViewById(R.id.button12);
nineButton.setOnClickListener(this);
View sixButton= findViewById(R.id.button13);
sixButton.setOnClickListener(this);
View threeButton= findViewById(R.id.button14);
threeButton.setOnClickListener(this);
View shiftButton= findViewById(R.id.button15);
shiftButton.setOnClickListener(this);
View backButton= findViewById(R.id.button16);
backButton.setOnClickListener(this);
View addButton= findViewById(R.id.button17);
addButton.setOnClickListener(this);
View minusButton= findViewById(R.id.button18);
minusButton.setOnClickListener(this);
View equalsButton= findViewById(R.id.button19);
equalsButton.setOnClickListener(this);
}
更新 这是 xml 文件的代码
<?xml version="1.0" encoding="utf-8"?>
<TableLayout android:id="@+id/main"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:background="@drawable/trondroid">
<TableRow android:layout_height="wrap_content"
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_gravity="center|center_horizontal"
android:layout_marginLeft="6dip"
android:layout_marginTop="100dip">
<LinearLayout android:orientation="vertical"
android:id="@+id/linearLayout1"
android:layout_width="76dip"
android:layout_height="wrap_content">
<Button android:text="c"
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="7"
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="4"
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="1"
android:id="@+id/button4"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="0"
android:id="@+id/button5"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
</LinearLayout>
<LinearLayout android:id="@+id/linearLayout2"
android:orientation="vertical"
android:layout_height="match_parent"
android:layout_width="75dip">
<Button android:text="/"
android:id="@+id/button6"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="8"
android:id="@+id/button7"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="5"
android:id="@+id/button8"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="2"
android:id="@+id/button9"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="."
android:id="@+id/button10"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
</LinearLayout>
<LinearLayout android:id="@+id/linearLayout3"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_width="75dip">
<Button android:text="*"
android:id="@+id/button11"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="9"
android:id="@+id/button13"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="6"
android:id="@+id/button14"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="3"
android:id="@+id/button15"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text=""
android:id="@+id/button16"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
</LinearLayout>
<LinearLayout android:layout_height="match_parent"
android:id="@+id/linearLayout4"
android:orientation="vertical"
android:layout_width="75dip">
<Button android:text=""
android:id="@+id/button12"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="+"
android:id="@+id/button17"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="-"
android:id="@+id/button18"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="="
android:id="@+id/button19"
android:layout_height="match_parent"
android:layout_width="match_parent">
</Button>
</LinearLayout>
</TableRow>
</TableLayout>
Im writing my first app for android and i cant get the xml layout to load up. Ive looked at references and cant seem to find the problem. The code compiles and runs but all that shows up on the screen is a black page with the status and title bar at the top.
Any ideas
public void OnCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
View cancelButton= findViewById(R.id.button1);
cancelButton.setOnClickListener(this);
View sevenButton= findViewById(R.id.button2);
sevenButton.setOnClickListener(this);
View fourButton= findViewById(R.id.button3);
fourButton.setOnClickListener(this);
View oneButton= findViewById(R.id.button4);
oneButton.setOnClickListener(this);
View zeroButton= findViewById(R.id.button5);
zeroButton.setOnClickListener(this);
View divideButton= findViewById(R.id.button6);
divideButton.setOnClickListener(this);
View eightButton= findViewById(R.id.button7);
eightButton.setOnClickListener(this);
View fiveButton= findViewById(R.id.button8);
fiveButton.setOnClickListener(this);
View twoButton= findViewById(R.id.button9);
twoButton.setOnClickListener(this);
View pointButton= findViewById(R.id.button10);
pointButton.setOnClickListener(this);
View timesButton= findViewById(R.id.button11);
timesButton.setOnClickListener(this);
View nineButton= findViewById(R.id.button12);
nineButton.setOnClickListener(this);
View sixButton= findViewById(R.id.button13);
sixButton.setOnClickListener(this);
View threeButton= findViewById(R.id.button14);
threeButton.setOnClickListener(this);
View shiftButton= findViewById(R.id.button15);
shiftButton.setOnClickListener(this);
View backButton= findViewById(R.id.button16);
backButton.setOnClickListener(this);
View addButton= findViewById(R.id.button17);
addButton.setOnClickListener(this);
View minusButton= findViewById(R.id.button18);
minusButton.setOnClickListener(this);
View equalsButton= findViewById(R.id.button19);
equalsButton.setOnClickListener(this);
}
UPDATE
here is the code for the xml file
<?xml version="1.0" encoding="utf-8"?>
<TableLayout android:id="@+id/main"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:background="@drawable/trondroid">
<TableRow android:layout_height="wrap_content"
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_gravity="center|center_horizontal"
android:layout_marginLeft="6dip"
android:layout_marginTop="100dip">
<LinearLayout android:orientation="vertical"
android:id="@+id/linearLayout1"
android:layout_width="76dip"
android:layout_height="wrap_content">
<Button android:text="c"
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="7"
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="4"
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="1"
android:id="@+id/button4"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="0"
android:id="@+id/button5"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
</LinearLayout>
<LinearLayout android:id="@+id/linearLayout2"
android:orientation="vertical"
android:layout_height="match_parent"
android:layout_width="75dip">
<Button android:text="/"
android:id="@+id/button6"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="8"
android:id="@+id/button7"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="5"
android:id="@+id/button8"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="2"
android:id="@+id/button9"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="."
android:id="@+id/button10"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
</LinearLayout>
<LinearLayout android:id="@+id/linearLayout3"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_width="75dip">
<Button android:text="*"
android:id="@+id/button11"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="9"
android:id="@+id/button13"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="6"
android:id="@+id/button14"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="3"
android:id="@+id/button15"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text=""
android:id="@+id/button16"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
</LinearLayout>
<LinearLayout android:layout_height="match_parent"
android:id="@+id/linearLayout4"
android:orientation="vertical"
android:layout_width="75dip">
<Button android:text=""
android:id="@+id/button12"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="+"
android:id="@+id/button17"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="-"
android:id="@+id/button18"
android:layout_width="match_parent"
android:layout_height="75dip">
</Button>
<Button android:text="="
android:id="@+id/button19"
android:layout_height="match_parent"
android:layout_width="match_parent">
</Button>
</LinearLayout>
</TableRow>
</TableLayout>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
嘿,:) 对于 OnClickListener,您实际上必须提供 OnClickListener 实现。您传递“this”是否意味着您的活动也实现了 View.OnClickListener?因为如果不这样做 - 上面的代码将无法工作。但还有其他事情:您的布局(如果您在 XML 中定义了它)应该显示,无论是否设置了 OnClickListener。您可以将您的 XMl 布局发布到吗?
干杯,
Ready4Android
如果这确实是您的第一个应用程序,您可能想先从一些教程开始:)您将在那里学到很多基本的东西,这将帮助您入门。 Android 开发者页面是一个不错的入门平台。
Hey there :) for an OnClickListener you actually have to provide an OnClickListener implementation. You're passing "this" does that mean your activity als implements View.OnClickListener? Because if it does not - the above code won't work. But something else: Your layout (if you have defined it in XML should show up regardless of whether the OnClickListener have been set. Could you please post your XMl layout to?
Cheers,
Ready4Android
P.s. If this really is your first app you might want to start with some tutorials first :) you'll pick up a lot of basic stuff there which will help you getting started. A nice place for getting started are the official developer pages of Android.