我正在使用first program
开发Android
。它根据用户点击的按钮添加或减去总数。我已经创建了它xml
,现在我正在创建它的java
,但是我遇到了一些错误(它尚未完全开发)。如果有人能指导我,我会很有帮助。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Your Total is 0"
android:gravity="center"
/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+1"
android:layout_gravity="center"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-1"
android:layout_gravity="center"
android:text="Button" />
</LinearLayout>
package com.fahad.project;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class AndroidProject1Activity extends Activity {
/** Called when the activity is first created. */
int numberCount;
Button add, sub;
TextView display;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
numberCount =0;
add=(Button)findViewById(R.id.bAdd);<!--error-->
sub=(Button)findViewById(R.id.bSub);<!--error-->
display=(TextView)findViewById(R.id.tvDisplay);<!--error-->
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
sub.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
}
}
Id is not resolved or is not a field
请帮我解决此错误。感谢。
粘贴.R文件,
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package com.fahad.project;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int ic_launcher=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
答案 0 :(得分:1)
使用XML布局中的ID值。尝试...
add=(Button)findViewById(R.id.button1);
sub=(Button)findViewById(R.id.button2);
您可能希望为他们提供更具描述性的ID!
您还没有在XML中提供TextView
ID,我将留下一个ID供您修复:]
答案 1 :(得分:1)
确定!你在xml布局中放入的id是在R.id
类中自动生成的。
例如:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+1"
android:layout_gravity="center"
android:text="Button" />
在此xml按钮标记中,您将android:id="@+id/button1"
和ID button1
自动添加到R.id
您使用此ID而不是您自己的
在Java代码中连接您的Button 像这样add=(Button)findViewById(R.id.button1);
答案 2 :(得分:1)
您将按钮ID声明为“button1”和“button2”,但将它们称为“bAdd”和“bSub”,这将无效。
如果您的代码即使更正了引用也无法编译,请执行右键单击项目 - &gt;刷新和项目 - &gt;在Eclipse中清理。
如果它仍然不起作用,那么你可能搞砸了项目设置。由于您显然只是做了一些初步步骤,只需创建一个新项目并将代码复制到那里。