Android Id可以';无法解决
Android studio仍然无法识别我的文本视图和按钮,尽管我在其他问题上做了很多更改。请帮忙Android Id可以';无法解决,android,Android,Android studio仍然无法识别我的文本视图和按钮,尽管我在其他问题上做了很多更改。请帮忙 public void onButtonClick(View v) { int a,c; EditText e1 = (EditText)findViewById(android.R.id.num); TextView t1= (TextView)findViewById(android.R.id.num1); a=Integer.parseInt(e1.getT
public void onButtonClick(View v)
{
int a,c;
EditText e1 = (EditText)findViewById(android.R.id.num);
TextView t1= (TextView)findViewById(android.R.id.num1);
a=Integer.parseInt(e1.getText().toString());
c= a*a;
t1.setText(Integer.toString(c));
}
XML文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
>
<TextView android:text="@string/hello_world" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/num"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="73dp"
android:text="Enter Text" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="click me"
android:id="@+id/but"
android:layout_below="@+id/num"
android:layout_toRightOf="@+id/textView"
android:layout_toEndOf="@+id/textView"
android:layout_marginTop="44dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView2"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/but"
android:layout_alignEnd="@+id/but"
android:layout_marginBottom="50dp" />
</RelativeLayout>
请帮助我,我是一个新手,所以我不知道发生了什么错误。我早前也做了同样的事情,而且成功了。试试这个:
public void onButtonClick(View v)
{
int a,c;
EditText e1 = (EditText)findViewById(R.id.num);
TextView t1= (TextView)findViewById(R.id.num1);
a=Integer.parseInt(e1.getText().toString());
c= a*a;
t1.setText(Integer.toString(c));
}
id
用于唯一定义组件
因此,我们第一次使用@+id/name
。然后我们只使用@id/name
因此,将布局更改为:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
>
<TextView android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView" />
<EditText
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/num"
android:layout_below="@id/textView" //changed (removed + sign)
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="73dp"
android:text="Enter Text" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="click me"
android:id="@+id/but"
android:layout_below="@id/num" //changed (removed + sign)
android:layout_toRightOf="@id/textView" //changed (removed + sign)
android:layout_toEndOf="@id/textView" //changed (removed + sign)
android:layout_marginTop="44dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView2"
android:layout_alignParentBottom="true"
android:layout_alignRight="@id/but" //changed (removed + sign)
android:layout_alignEnd="@id/but" //changed (removed + sign)
android:layout_marginBottom="50dp" />
</RelativeLayout>
试试这个,可能是这样的
private Button add;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
add= (Button) findViewById(R.id.button1);
add.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
switch (v.getId()) {
case R.id.But: // this is your xml id for button
//Your code
break;
}
}
您是否遇到编译错误或运行时错误?顺便说一句:我在您的xml上没有看到id为
num1
的内容,在哪里定义了num1
?你的xml没有显示出来//textview2在那里,我的错,改变了它。不过,它无法识别num和num1。编译时是否还有其他错误?请共享错误日志。这将有助于我们给出正确的解决方案。@supsup您尝试过这个吗?非常感谢。顺便说一句,为什么我们要删除“android”?您使用的是哪个支持库?我需要15个声誉才能做到这一点。很抱歉我不太清楚。我用的是安卓工作室,其他一切都很简单,没用。我做了所有的改变。num和num1变量在java文件中仍然显示为“红色”,给出了错误。