Access variables within main.xml
I'm new to Android programming. I have a program that looks like this:
Here is the main java block:
public class MyAndroid extends Activity {
private EditText input1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
setContentView(R.layout.main);
input1 = (EditText) findViewById(R.id.input1);
}
This is what my main.开发者_JAVA技巧xml file looks like:
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout android:id="@+id/widget45"
android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<EditText android:id="@+id/input1" android:layout_width="160px"
android:layout_height="wrap_content" android:textSize="18sp"
android:numeric = "decimal|signed"
android:layout_x="8px" android:layout_y="13px">
</EditText>
</AbsoluteLayout>
However, I'm getting an error message:
R.id.input1 cannot be resolved. Why can't I access 'input1' from main.xml?
I've looked around on the web and haven't found this answer.
Thanks
Most likely this problem occurs when instead of importing application specific R class the android.R class has been imported.
Well there are two errors in your code, you need another bracket at the very end and mContext = this;
should be Context mContext = this;
but you don't even need that line. That's all I can see. Other than that it should work as expected.
EDIT: I am assuming nothing here except that you are an absolute beginner, in that case what you are trying to do should look exactly like this from start to finish (your main.xml is fine):
package com.myandroid; // This line may be different depending on what you named your package when you created the project.
import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
public class MyAndroid extends Activity {
private EditText input1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
input1 = (EditText) findViewById(R.id.input1);
}
}
精彩评论