I'm trying to set TextView visibility in one activity based on an integer value from another activity. Ideally, I am trying to set the value of imgID as an int, and depending on the integer value, the second activity sets the visibility of 10 TextView's. imgID value is supposed to be set to a number whenever a ImageView is clicked in the main activity (Pictures). However when I run the program, all the text appears regardless of which picture I click on. This is my second lab in a class that I'm struggling a bit with, so my apologies if I've missed something obvious. Also, any other tips or info on other things I've missed are appreciated. Thanks for the help ahead of time!
Code is as follows:
Main Activity:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
public class Pictures extends AppCompatActivity {
static int imgID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pictures);
//register click event listener to image view(I hope :)
ImageView imgB = (ImageView) findViewById(R.id.imageViewB);
ImageView imgH = (ImageView) findViewById(R.id.imageViewH);
ImageView imgM = (ImageView) findViewById(R.id.imageViewM);
ImageView imgD = (ImageView) findViewById(R.id.imageViewD);
ImageView imgS = (ImageView) findViewById(R.id.imageViewS);
imgB.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//if imgB clicked, set imgID to 1 and so on...
imgID = 1;
startActivity(new Intent(Pictures.this, Lab2App2.class));
}
});
imgD.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
imgID = 2;
startActivity(new Intent(Pictures.this, Lab2App2.class));
}
});
imgH.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
imgID = 3;
startActivity(new Intent(Pictures.this, Lab2App2.class));
}
});
imgM.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
imgID = 4;
startActivity(new Intent(Pictures.this, Lab2App2.class));
}
});
imgS.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
imgID = 5;
startActivity(new Intent(Pictures.this, Lab2App2.class));
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_pictures, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Second Activity:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
public class Lab2App2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lab2_app2);
TextView campusB = (TextView)findViewById(R.id.text_campusB);
TextView campusD = (TextView)findViewById(R.id.text_campusD);
TextView campusH = (TextView)findViewById(R.id.text_campusH);
TextView campusM = (TextView)findViewById(R.id.text_campusM);
TextView campusS = (TextView)findViewById(R.id.text_campusH);
if(Pictures.imgID == 1) {
campusB.setVisibility(View.VISIBLE);
campusD.setVisibility(View.GONE);
campusH.setVisibility(View.GONE);
campusM.setVisibility(View.GONE);
campusS.setVisibility(View.GONE);
}
else if(Pictures.imgID == 2) {
campusB.setVisibility(View.GONE);
campusD.setVisibility(View.VISIBLE);
campusH.setVisibility(View.GONE);
campusM.setVisibility(View.GONE);
campusS.setVisibility(View.GONE);
}
else if(Pictures.imgID == 3) {
campusB.setVisibility(View.GONE);
campusD.setVisibility(View.GONE);
campusH.setVisibility(View.VISIBLE);
campusM.setVisibility(View.GONE);
campusS.setVisibility(View.GONE);
}
else if(Pictures.imgID == 4) {
campusB.setVisibility(View.GONE);
campusD.setVisibility(View.GONE);
campusH.setVisibility(View.GONE);
campusM.setVisibility(View.VISIBLE);
campusS.setVisibility(View.GONE);
}
else if(Pictures.imgID == 5) {
campusB.setVisibility(View.GONE);
campusD.setVisibility(View.GONE);
campusH.setVisibility(View.GONE);
campusM.setVisibility(View.GONE);
campusS.setVisibility(View.VISIBLE);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_lab2_app2, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}