This is the java code for changing background color on user click.On running on device it says "Unfortunately app has stopped working".
public class MainActivity extends AppCompatActivity {
RelativeLayout myLayout=(RelativeLayout)findViewById(R.id.layout1);
#Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myLayout.setBackgroundColor(Color.YELLOW);
Button redbtn=(Button)findViewById(R.id.btn1);
Button bluebtn=(Button)findViewById(R.id.btn2);
redbtn.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
myLayout.setBackgroundColor(Color.RED);
}
}
);
bluebtn.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
myLayout.setBackgroundColor(Color.BLUE);
}
}
);
myLayout.addView(redbtn); myLayout.addView(bluebtn);
//setContentView(myLayout);
}
public class MainActivity extends AppCompatActivity {
#Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout myLayout=(RelativeLayout)findViewById(R.id.layout1);
myLayout.setBackgroundColor(Color.YELLOW);
Button redbtn=(Button)findViewById(R.id.btn1);
Button bluebtn=(Button)findViewById(R.id.btn2);
redbtn.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
myLayout.setBackgroundColor(Color.RED);
}
}
);
bluebtn.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
myLayout.setBackgroundColor(Color.BLUE);
}
}
);
myLayout.addView(redbtn); myLayout.addView(bluebtn);
//setContentView(myLayout);
}
Related
I'm having an Issue that I have two Activities A and B when I clicked on Button to change an Activity from A to B . It Restart my Application I don't know what going wrong Please help me
public class Login_Choice_Activity extends AppCompatActivity{
private Button d_btn,p_btn;
#Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login__choice);
FindAllView();
p_btn.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
// startActivity(new
Intent(Login_Choice_Activity.this,Patient_SignIn_Activity.class));
Toast.makeText(getApplicationContext(),"CLICKED",Toast.LENGTH_LONG).show();
}
});
}
private void FindAllView(){
d_btn = findViewById(R.id.choice_doctor_btn);
p_btn = findViewById(R.id.choice_patient_btn);
}
}
https://i.stack.imgur.com/KcgAh.gif
It could be better if you create a method for opening the new Activity and call it from onClick(View v) method. Example
private void openActivity() {
startActivity(new Intent(this,Patient_SignIn_Activity.class));
}
In your onClick call:
#Override
public void onClick(View v) {
openActivity()
}
This is my second activity and when open this activity threw button activity take load and open after some time and some times UI Freeze and some time black screen open for some seconds
public class AartiActivity extends AppCompatActivity {
final MediaPlayer player1 = new MediaPlayer();
private Button btn_playarti, btn_pausearti, btn_stoparti;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_aarti);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
btn_playarti = (Button) findViewById(R.id.btn_playarti);
btn_pausearti = (Button) findViewById(R.id.btn_pausearti);
btn_stoparti = (Button) findViewById(R.id.btn_stoparti);
try {
player1.setDataSource(STRING_URL);
player1.prepare();
} catch (IOException e) {
e.printStackTrace();
}
btn_playarti.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
player1.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
#Override
public void onCompletion(MediaPlayer player) {
player.stop();
}
});
player1.start();
}
});
btn_pausearti.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
if (player1.isPlaying()) {
player1.pause();
}
}
});
btn_stoparti.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
player1.stop();
}
});
}
#Override
protected void onStop() {
super.onStop();
player1.stop();
}
}
public class MainActivity extends AppCompatActivity {
private Button c;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
c = (Button)findViewById(R.id.buttonRegister1);
c.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent j = new Intent(MainActivity.this,Welcome.class);
}
});
}
}
You should call
startActivity(j);
you forgot a simple thing :-
c.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent j = new Intent(MainActivity.this,Welcome.class);
startActivity(j);
}
});
I devised some activities with its relationships between each other after I pass any acttivity from Main Actvity. But I couldn't succeed to pass another activity from any activity.
Here is the code below.
public class A extends AppCompatActivity {
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_istanbul);
TextView attractivePlaces = (TextView) findViewById(R.id.a_category_attractive_places);
attractivePlaces.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"A",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(A.this,B.class); // Here the issue is.
startActivity(intent);
}
});
}
}
How can I solve the problem.
Try changing View.OnClickListener() to TextView.OnClickListener()
final code would be like this:
public class A extends AppCompatActivity {
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_istanbul);
TextView attractivePlaces = (TextView) findViewById(R.id.a_category_attractive_places);
attractivePlaces.setOnClickListener(new TextView.OnClickListener() {
#Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"A",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(A.this,B.class); // Here the issue is.
startActivity(intent);
}
});
}
}
Maybe this will help.
I have made successfully my Imagebutton to open anther activity but the issue is by using the same method on another ImageButton it comes up with an error saying the method is already used in "Main Activity".
public class MainActivity extends ActionBarActivity {
private static ImageButton ImageButton_sbm;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
OnClickImageButtonListener();
}
public void OnClickImageButtonListener() {
ImageButton_sbm = (ImageButton)findViewById(R.id.imageButton);
ImageButton_sbm.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent intent = new Intent("saintbedeslytham.saintbedes.event");
startActivity(intent);
}
}
);
}
private static ImageButton ImageButton2_sbm;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
OnClickImageButtonListener();
}
public void OnClickImageButtonListener() {
ImageButton_sbm = (ImageButton)findViewById(R.id.imageButton2);
ImageButton_sbm.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent intent = new Intent("saintbedeslytham.saintbedes.news");
startActivity(intent);
}
}
);
}
How, if anything, can I apply another method for the "saintbedeslytham.saintbedes.news"
Your problem here is that you cannot create two method with the same definition.
You have two:
protected void onCreate(Bundle savedInstanceState);
and two:
public void OnClickImageButtonListener();
You can't have 2 methods with the same definition for 2 simple reasons.Imagine 2 people with the same name, call for their name.
Who will answer?
Who are you calling?
Edit:
So you can:
public class MainActivity extends ActionBarActivity {
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
prepareClicks();
}
private void prepareClicks() {
findViewById(R.id.imageButton).setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent intent = new Intent("saintbedeslytham.saintbedes.event");
startActivity(intent);
}
}
);
findViewById(R.id.imageButton2).setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent intent = new Intent("saintbedeslytham.saintbedes.news");
startActivity(intent);
}
}
);
}
}
public class MainActivity extends ActionBarActivity {
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
prepareClicks();
}
private void prepareClicks() {
findViewById(R.id.imageButton).setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent intent = new Intent("saintbedeslytham.saintbedes.event");
startActivity(intent);
}
}
);
findViewById(R.id.imageButton2).setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent intent = new Intent("saintbedeslytham.saintbedes.news");
startActivity(intent);
}
}
);
}
}
Yup the method worked.
Thanks for the replies,
(Done by Gorcyn)