I have this code:
public class IntroInventario extends Activity{
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.intro_inventario);
final Database db=new Database(this);
db.open();
Cursor password=db.dammi_password();
final EditText inserisci=(EditText) findViewById(R.id.inserisci_password);
Button entra_inventario=(Button) findViewById(R.id.entra_inventario);
TextView dimenticata=(TextView) findViewById(R.id.dimenticata_password);
final Toast toast=new Toast(this);
while(password.moveToNext()){
if(password.getString(password.getColumnIndex("password")).equals("")){
// primo accesso
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
Intent intent = new Intent(IntroInventario.this, InventarioNoPassword.class);
finish();
parentActivity.startChildActivity("InventarioNoPassword",intent);
}
}
db.close();
// inserisci password
entra_inventario.setOnClickListener(new OnClickListener(){
public void onClick(View v){
db.open();
Cursor password_2=db.dammi_password();
while(password_2.moveToNext()){
if(inserisci.getText().toString().equals(password_2.getString(password_2.getColumnIndex("password")))){
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
Intent intent = new Intent(getParent(), Inventario.class);
finish();
parentActivity.startChildActivity("Inventario",intent);
}else{
Toast.makeText(IntroInventario.this,"Password sbagliata",Toast.LENGTH_LONG);
toast.show();
}
}
db.close();
}
});
// password dimenticata
dimenticata.setOnClickListener(new OnClickListener(){
public void onClick(View v){
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
Intent intent = new Intent(getParent(), InventarioDimenticata.class);
finish();
parentActivity.startChildActivity("InventarioDimenticata",intent);
}
});
}
}
the problem is that, if i'm in "// primo accesso", the app close itself instead of going to InventarioNoPassword.class. It's strange because in my other projects it works.
The logcat tells: 12-07 12:43:46.756: W/InputManagerService(60): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@406705e8 (uid=10037 pid=649)
it is better to finish your current running activity inside onPause() method. Do not use finish() method generally inside button click . Use finish method like this . it may solve your problem
@Override
public void onPause() {
super.onPause();
finish();
}
then in place of this
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
Intent intent = new Intent(getParent(), InventarioDimenticata.class);
finish();
parentActivity.startChildActivity("InventarioDimenticata",intent);
use this code it may help you
Intent intent = new Intent();
intent.setClass(getBaseContext(), InventarioDimenticata.class);
startActivity(intent);
i face similar kind of problem not sure its same but when we call finish(); before startActivity app goes in background.
so first call parentActivity.startChildActivity("Inventario",intent);
then finish();
try and give me output please.
您同时使用正常意图和父项意图,请使用一种,因为您正在使用标签组活动
You need to extend your class to TabGroupActivity
public class IntroInventario extends TabGroupActivity{
or else you need to create a object referencing to the TabGroupActivity class and then use the methods in that class ie your startChildActivity()
Hope this helps.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.