android - Android无法解析id

标签 android

尽管我在看到的其他问题中进行了所有更改,但 Android Studio 仍然无法识别我的 TextView 和按钮。请帮忙

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>

请帮助我,我是新手,所以我不知道发生了什么错误,我早些时候做了同样的事情并且它有效。

最佳答案

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>

关于android - Android无法解析id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30621032/

相关文章:

android - 存在声明时出现 XML Pull Parser 错误

android - 设置 Surface View 的大小和位置

android - 如何禁用 facebook 的自动登录

android - 无法使用eclipse为cordova 3.x版本运行android项目

android - Kotlin协程,有没有更好的方法来返回这个值?

java - 显示收到的推送通知

java - 将 BigInteger 与 Realm Java 一起使用?

Android Activity 识别不适用于 Nexus 5

android - 如何正确使用安卓设备管理员功能

Android -- 为什么我的应用程序使用大约 40MB 的缓存后台进程?