Android passing and retrieving data - android

Can a class have getExtra and putExtra at the same time?
Suppose, Class 1 passes data to Class 2. Class 2 passes data to Class 3.
How am I suppose to get Class 2 working?
Class 1
public static final String EXTRA_RADIO="com.example.flash.Mode";
int btn;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button bP= (Button)findViewById(R.id.btnP);
Button bT= (Button)findViewById(R.id.btnP);
final Intent intent = new Intent(Main.this, Mode.class);
bP.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//TODO Auto-generated method stub
btn=1;
intent.putExtra(EXTRA_RADIO, btn);
startActivity(intent);
}
});
bT.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//TODO Auto-generated method stub
btn=2;
intent.putExtra(EXTRA_RADIO, btn);
startActivity(intent);
}
});
}
Class 2
int mode;
int op;
public static final String EXTRA_OP = "com.example.flash.Operator";
public void onStart(){
super.onStart();
mode = getIntent().getIntExtra(Main.EXTRA_RADIO, 0);
setContentView(R.layout.mode);
if (mode==1){
m.setText("Practice");
ok.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//codes
op=1;
}
});
}
if (mode==2){
m.setText("Trial");
ok.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//codes
op=2;
}
});
}
Intent intent = new Intent(Mode.this, Operator.class);
intent.putExtra(EXTRA_OP, op);
startActivity(intent);
}
Then class 3 gets op from class 2. My class 2 doesn't work.

Try adding #Override for your onStart in Class 2.
Can a class have getExtra and putExtra at the same time?
Yes. Looks like you are using getExtra and putExtra for different intent.

Related

Android Intent / Start Activity Issue

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()
}

is there any body know my button is not working for go on next page on android studio

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);
}
});

Android MultiScreen Intent Issue

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.

How do I open a button another activity with another button?

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)

Showing duration time using stopwatch in android?

I need to toast the stopwatch's value
ie.,time taken between start and stop
If i click the stop button it should toast that time duration.
How to do this?
Here i have tried some code
chrono_meter.java
public class Chrono_meter extends Activity {
Chronometer chr;
Button btn_stop_travel;
#Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.chronometer_layout);
chr = (Chronometer)findViewById(R.id.chronometer1);
chr.start();
btn_stop_travel = (Button)findViewById(R.id.btn_stop_inspection);
btn_stop_travel.setOnClickListener(mStopListener);
}
View.OnClickListener mStopListener = new OnClickListener() {
public void onClick(View v) {
chr.stop();
}
};
}
Try this
View.OnClickListener mStopListener = new OnClickListener() {
public void onClick(View v) {
chr.stop();
Toast.makeText(Chrono_meter.this, chr.getText(), Toast.LENGTH_LONG).show() ;
}
};

Categories

Resources