package com.elfapp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
private Button btn_Login;
private EditText et_UserName;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn_Login = (Button) findViewById(R.id.button_login);
btn_Login.setOnClickListener(this);
et_UserName = (EditText) findViewById(R.id.editText_userName);
}
public void onClick(View v) {
if (v.equals(btn_Login)) {
// skriver ut en toast när man klickar på knappen
Toast.makeText(MainActivity.this, "Ansluter till server...", Toast.LENGTH_SHORT).show();
// används i debuggern för att påvisa att programmet exekverat hit
Log.v("ThisApp", "onClick Successful");
// TODO skickar det som står i et_UserName till controller (genom TCP/IP), som ska kolla om användaren finns
// send et_UserName.getText().toString() to controller
// if(username exists)
Intent intent = new Intent(this, RoomActivity.class);
this.startActivity(intent);
}
}
}
I'm getting an error on the line containing setContentView(R.layout.main);
Not sure about what the error/exception is because I'm not used to working in Eclipse..
This just happend to me a minute ago, but after researching a while, and read this post I notice this.
There is a custom R class with you app name, so when you try to import the missing class (in Eclipse, press Ctrl + Shift + O to import missing classes (Cmd + Shift + O on Mac)), you should see two posible classes the normal:
import android.R;
And a custom class with your project namespace:
import com.yourname.yourapp.R;
If you choose the custom class, problem solved!
Just take 2 steps and problem would be more likely to get solved:
Step 1:
Clean your project by clicking Project -> Clean.
Step 2:
Rebuild your project by clicking Project -> Build All.
Also make sure that your layout xml files are syntax error free and you don't have any image which has non-acceptable names (such as a "-" between image name).
Also I request you to have a look at problems window and let me know what errors are being shown there.
Using NetBeans 7.0:
If you fix imports before R.java has been generated for your project (before building it the first time) it will add the line:
import android.R;
which will override the local R.java that you are trying to reference.
Deleting that line resolved the errors for me.
Step 1 :
import android.*;
Step 2 :
clean your project
Step 3 :
Enjoy !!!
if you have multiple packages with different classes then it will be confusing: try this:
import package_name_from_AndroidManifest.R;
is this already solved?
i also had this problem. I solved it just by cleaning the project.
Project>Clean>Clean projects selected below>Check [your project's name]
This problem usually happen if eclipse accidentally compile the main.xml incorrectly.
The easiest solution is to delete R.java inside gen directory.
Once we delete, than eclipse will generate the new R.java base on the latest main.xml
Simply:
Right click on your project.
Go to properties.
Select android (second option in the Left panel).
Click "add..." (in library), select your project.
Click ok.
And finally, clean your project.
If this doesn't work, make sure that "android-support-v7-appcompat" is in your Project Explorer.
If it isn't there, you can add it by importing a simple project from: C:/android-sdks\extras\android\support\v7\appcompat
use code : setContentView(R.layout.activity_main); instead ofsetContentView(R.layout.main);
Related
I am new in Android development, and I wanna build some apps for myself. I have installed Android SDK last version, NetBeans IDE 7.4 and also the plugin for this. I wrote a simple code for Android to see if it works:
package com.app;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity
{
/** Called when the activity is first created. */
#Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("HelloWorld");
setContentView(tv);
}
}
When I try to build and run with an emulator, I get this error: [path] \AndroidApplication1\build.xml:1: Premature end of file.
When I go to the file (build.xml) I see that is empty. I should write to it? What should I do? Thanks in advance.
image
Well i have this problem when the code is correct, but it gives me red line error!
can anybody help me.
Main.java
package com.example.sout;
import android.content.DialogInterface;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import
~
import android.widget.ImageView;
public class Main extends Activity {
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
ImageView iv = (ImageView) findViewById(R.id.img1);
iv.setBackgroundResource (R.anim.animation);
~~~~~~~~~~~~~~~~
iv.setOnClickListener(new OnClickListener());
~~~~~~~~~~~~~~~ ~
}
in (note the ~ characters above):
iv.setBackgroundResource (R.anim.animation);
iv.setOnClickListener(new OnClickListener());
The setBackgroundResource and setOnClickListener are red too.
The error in iv.setBackgroundResource (R.anim.animation); comes because that method takes integer as a parameter .So change it to the following,
iv.setBackgroundResource (R.drawable.image1); //image1 is a drawable which is inside your drawable folder.
and the second error comes because you have not imported the required package and have not overridden the methods required for that. Change it to the following,
iv.setOnClickListener(new OnClickListener() {
#Override
public void onClick(View v) {
//do your task here
}
});
after changing press ctrl+shift+p to import the required packages.
Sometimes, at least with Eclipse, it gets it into it head that there's an error and it won't let it go. But, with Eclipse, you can at least put the cursor over a marker and it will explain what the problem is (or what it thinks it is). I'd try to hover over the errant lines to see if a popup box appears telling you what it thinks.
If you're sure it's wrong, often I've found that saving the file (or all files) will fix it. Sometimes adding then deleting a space on the errant line will fix it.
However, I notice that you have an incomplete import at the top of your file and this may be preventing the syntax checker from properly analysing the source file.
My advice is to fix that first, then try those other two tricks (save then, if that doesn't work, edit and undo on the errant line). Hopefully that will make it disappear.
Of course, you may want to check, just in case, your R.java file to ensure that member exists in there somewhere. I've been bitten by my own misspellings before.
Yes. I know this is trivial. But this is getting silly.
Image proving the error:
The code:
package apack.age;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
public class DisplayContactActivity extends Activity
{
#Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.display_contact_layout);
}
public void openSubreddit(View view)
{
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.reddit.com")));
}
public void openTwitter(View view)
{
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://twitter.com")));
}
public void openGmail(View view)
{
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("www.gmail.com")));
}
}
Seriously. There's 5 open and 5 close braces. This is my first attempt at an android app but I have 3 years of Java experience so this is pretty frustrating.
Run errors out. Refresh does nothing. Project clean does nothing. Auto code format in eclipse (CTRL + SHIFT + F) does nothing.
EDIT 1: Copying the code to a new class gets it to compile. I'm running the new version of Eclipse: Juno. I've done source -> cleanup and it just says "nothing to change" every time!
Edit: Please upgrade to ADT 20.0.1, where this has been fixed.
Switch to the Lint view, use the Clean button to remove all lint errors. There is a bug with lint in ADT 20, that it sometimes takes over the Java compiler bugs.
You can verify if this is really the problem by looking at the "Origin" column of this bug in your Problems view. Normally that should be "Java problem" for this error, but it will be "Lint" instead.
Try to save the file with Ctrl+S, it happens to me sometimes. Also, it seems that you forget to insert the package name at the beginning of the code:
package com.example.my_application;
There's gotta be a snapin in your eclipse with the issue. Have you tried a virgin eclipse install?
Here are some tips for Eclipse users who are experiencing this issue. Please try the following, which solved this problem for me (I was using this download of the IDE: eclipse-SDK-4.2-macosx-cocoa-x86_64.tar):
1) mv the offending source .java file to a new file.
2) Refresh eclipse (the project via right-clicking the project name).
3) mv the new file back to the original name.
4) Refresh eclipse again.
This solved the issue for me. It was nothing about the code, it happened for me, intermittently throughout my coding session, even in a very small file in which it was not easy to misplace any closing braces :-)
I tried some of the solutions suggested here, no luck, then tried the below, seems good.
I moved the Java file out of the source tree. Of course, compile errors lit up everywhere else in the tree.
I created a new Java file for the class. I right-clicked on an error to generate the file. I set the parent class in the dialog.
I fixed the errors in the file - constructor required because of parent class - with temporary code.
With the old code open in a text editor (Notepad++), I chunk-by-chunk copy-pasted the old code in, fixing imports as required by right-clicking on the errors.
It compiles happily now.
Grumble. Flaky tools. Grumble.
When I run my first app, I got error.
Code of the activity:
package com.pradeep.ulc;
import android.app.Activity;
import android.os.Bundle;
public class New1Activity extends Activity {
/** Called when the activity is first created. */
#Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Error:
R cannot be resolved to a variable New1Activity.java /new1/src/com/pradeep/ulc line 11 Java Problem
How can I fix it?
1) Make sure the package name is correctly set everywhere
2) Try doing a clean build to regenerate R.java.
If you must use a different package, import the R.java from the package specified in the manifest.
It means that you have problem in your resources, so R file cannot be generated.
What do you have in res/layout/main.xml file?
i m new to this platform, please help me to find what is the error...
setContentView(R.layout.main); // this line shows the error.
Code:
package com.example.helloandroid;
import android.R;
import android.app.Activity;
import android.os.Bundle;
public class HelloAndroidActivity extends Activity {
/** Called when the activity is first created. */
#Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Try deleting the line import android.R then clean your project.
Just adding more details on why the error is coming.
As there is an import of android.R so setContentView() is looking for a layout file 'android.R.layout.main' and there is no main.xml in the layout files that come along with SDK. So, using the correct R.java import will work.
clean Project then try To Run because i faced same problem before a month and remember layout/main.xml must be their and it must not contains any error.
you can Also Do this
import android.R;
or
import your.application.packagename.R; Now Clear Project and Run it.
You must have to simply change the
setContentView(R.layout.main);
... to:
setContentView(R.layout.activity_main);
... because Layout contains this .xml file.
I hope your problem will be solved.
First remove import android.R;
After any change on xml fiels you must clean project.
Build > Clean Project
after that every things corrects.