簡體   English   中英

無法解決或不是Eclipse中android中的字段錯誤

[英]cannot be resolved or is not a field error in android in eclipse

我得到錯誤登錄名無法解決或不是字段錯誤,並且與passwd和ip相同。 我在做android程序時在eclipse中收到此錯誤。

  public void onClick(View v) {
    if (v == this.viewcam)
      {
        Log.i("login", this.login.getText().toString());
        Log.i("Passwd", this.passwd.getText().toString());
        Intent localIntent1 = new Intent(v.getContext(), MjpegSample.class);
        Log.i("My ip", this.editTextIp.getText().toString());
        localIntent1.putExtra("ip", "http://" + this.editTextIp.getText().toString() + "/");
        localIntent1.putExtra("user", this.login.getText().toString());
        localIntent1.putExtra("passwd", this.passwd.getText().toString());
        startActivityForResult(localIntent1, 1000);
      }
    }
});

以下是與上面相對應的main.xml文件

<?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" >
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="IP CAM VIEWER"
        android:textAppearance="?android:attr/textAppearanceLarge"
        />
</LinearLayout>
<TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Username : "
            android:textAppearance="?android:attr/textAppearanceLarge" />
        <EditText
            android:id="@+id/username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10" >
            <requestFocus />
        </EditText>
    </TableRow>
    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Password : "
            android:textAppearance="?android:attr/textAppearanceLarge" />
        <EditText
            android:id="@+id/password"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPassword" />
    </TableRow>
    <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="IP : "
            android:textAppearance="?android:attr/textAppearanceLarge" />
        <EditText
            android:id="@+id/ip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10" />
</TableLayout>
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.62" >
    <Button
        android:id="@+id/viewcam"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="96dp"
        android:layout_marginTop="16dp"
        android:text="View cam" />
</RelativeLayout>
</LinearLayout>

我假設此代碼位於OnClickListener中,在這種情況下,請刪除this關鍵字,因為它引用的是OnClickListener實例,而不是Activity實例:

 public void onClick(View v) {
    if (v == viewcam)
      {
        Log.i("login", login.getText().toString());
        Log.i("Passwd", passwd.getText().toString());
        Intent localIntent1 = new Intent(v.getContext(), MjpegSample.class);
        Log.i("My ip", editTextIp.getText().toString());
        localIntent1.putExtra("ip", "http://" + editTextIp.getText().toString() + "/");
        localIntent1.putExtra("user", login.getText().toString());
        localIntent1.putExtra("passwd", passwd.getText().toString());
        startActivityForResult(localIntent1, 1000);
      }
    }

另一種選擇是“完全限定” this ,例如:

Log.i("login", TheActivity.this.login.getText().toString());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM