Note that there are some explanatory texts on larger screens.

plurals
  1. POString not accessible in same class
    text
    copied!<p>I have code to show a toast:</p> <pre><code>public void checkchallenge(View v) { String algo = null; if(algo == "123") { Context context = getApplicationContext(); CharSequence text = "You have " + messages ; int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(context, text, duration); toast.show(); ... </code></pre> <p>the error in eclipse that I am getting is:</p> <blockquote> <p>messages cannot be resolved to a variable</p> </blockquote> <p>The variable "messages" is being called in some code above it:</p> <pre><code>String messages = c.getString(TAG_MESSAGES); final TextView messages1 = (TextView)findViewById(R.id.envelope); </code></pre> <p>Maybe it's because I don't know Java too well but why isn't my string variable "messages" or "messages1" getting recognized in my code? I have a feeling it has to do with permissions of the code but when I remove the "final" part off of the messages 1 TextView I get the same error.</p> <p>Confused!</p> <pre><code>Here is the entire code to the class: public class Homepage extends Activity { //URL to get JSON Arrays public static String url = "http://10.0.2.2/android/SQL.php?username='"; public static String usernamefromlogin; public static TextView errorchecking; //JSON Node Names private static final String TAG_USER = "users"; private static final String TAG_WINS = "wins"; private static final String TAG_MESSAGES = "messages"; private static final String TAG_NAME = "fullname"; private static final String TAG_DISPLAY = "displayname"; private static final String TAG_EMAIL = "email"; private static final String TAG_PW = "password"; private static final String TAG_CREATED = "created_at"; private static final String TAG_UPDATED = "updated_at"; JSONArray user = null; //disable back button @Override public void onBackPressed() { } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.reshomepage); //Get login name from EditText in login screen and concatenate it to PHP user-name for _GET command in 3 steps. //Step 1: Get intent from previous activity Intent intent = getIntent(); getIntent().getExtras(); //Step 2: convert intent (intent) to string called "usernamefromlogin" //error checking in log cat to see value of "usernamefromlogin" usernamefromlogin = intent.getExtras().getString("username2"); Log.d("log of usernamefromlogin", usernamefromlogin); //Step 3: take the string "url" and add string "usernamefromlogin" after it String url5 = url.concat(usernamefromlogin); String url6 = url5.concat("'"); //find TextView "errorchecking" and send the string "url6" to it so it can display in log cat Log.d("log of URL6 in it's final state", url6); // Creating new JSON Parser JSONParser jParser = new JSONParser(); // Getting JSON from URL from the final string "url6" JSONObject json = jParser.getJSONFromUrl(url6); //Logcat check value for TAG_USER try { // Getting JSON Array user = json.getJSONArray(TAG_USER); JSONObject c = user.getJSONObject(0); // Storing JSON item in a String Variable String name = c.getString(TAG_NAME); String messages = c.getString(TAG_MESSAGES); String wins = c.getString(TAG_WINS); String display = c.getString(TAG_DISPLAY); String email = c.getString(TAG_EMAIL); String pw = c.getString(TAG_PW); String created = c.getString(TAG_CREATED); String updated = c.getString(TAG_UPDATED); //Importing TextView final TextView name1 = (TextView)findViewById(R.id.tvfullname); TextView messages1 = (TextView)findViewById(R.id.envelope); final TextView wins1 = (TextView)findViewById(R.id.wins); final TextView created1 = (TextView)findViewById(R.id.tvcreated_at); final TextView updated1 = (TextView)findViewById(R.id.tvupdated_at); //Set JSON Data in its respectable TextView name1.setText("Hello " + name); updated1.setText("Your last login was " + updated); // print error if applicable. } catch (JSONException e) { e.printStackTrace(); } } public void checkchallenge(View v) { String algo = null; if(algo == "123") { // display pop up message (toast) Context context = getApplicationContext(); CharSequence text = "You have " + messages1 ; int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(context, text, duration); toast.show(); }else { // display pop up message (toast) Context context = getApplicationContext(); CharSequence text = "You have no new Challenges"; int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(context, text, duration); toast.show(); } } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload