Android 安卓智能专注于自身

Android 安卓智能专注于自身,android,Android,我怎样才能对同一项活动作出意向 我有一个活动列表,它有前进和后退按钮,当我点击前进按钮时,我想用其他参数启动相同的活动。 为此,我也发送了一个包的意图 但是这个活动似乎不会再被创建了 public class Lektion extends Activity { private int rowCount = 0; private ArrayList<LektionPage> lektionPages = new ArrayList<LektionPage>

我怎样才能对同一项活动作出意向

我有一个活动列表,它有前进和后退按钮,当我点击前进按钮时,我想用其他参数启动相同的活动。 为此,我也发送了一个包的意图

但是这个活动似乎不会再被创建了

public class Lektion extends Activity {
    private int rowCount = 0;
    private ArrayList<LektionPage> lektionPages = new ArrayList<LektionPage>();
    private int lektionPage = 0;
    private Bundle bundle;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.lektion);

        bundle = this.getIntent().getExtras();
        String lektionNummer = bundle.getString("LektionNummer");
        setTitle("Lektion "+lektionNummer);     

        try{
            lektionPage = bundle.getInt("LektionPage");
        } catch(Exception e){}

        forwardImageButton.setOnTouchListener(new OnTouchListener(){
            public boolean onTouch(View view, MotionEvent me) {
                if(lektionPage == rowCount){
                    return false;
                }
                Log.i("ontouch", ""+lektionPage);
                Intent intent = new Intent(Lektion.this, Lektion.class);
                bundle.putInt("LektionPage", lektionPage++);
                intent.putExtras(bundle);
                return true;
            }

        });
    }
公共类Lektion扩展活动{
私有整数行计数=0;
private ArrayList lektionPages=new ArrayList();
私有整数lektionPage=0;
私有包;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.lektion);
bundle=this.getIntent().getExtras();
String lektionnumer=bundle.getString(“lektionnumer”);
片名(“Lektion”+lektionNummer);
试一试{
lektionPage=bundle.getInt(“lektionPage”);
}捕获(例外e){}
setOnTouchListener(新的OnTouchListener(){
公共布尔onTouch(视图、MotionEvent me){
if(lektionPage==rowCount){
返回false;
}
Log.i(“ontouch”和“+lektionPage”);
意向意向=新意向(Lektion.this,Lektion.class);
bundle.putInt(“LektionPage”,LektionPage++);
意向。额外支出(捆绑);
返回true;
}
});
}
这是一种处理您的需求的笨拙(可能是不可能的)方法


考虑使用拆分功能和导航。

我觉得这可以通过使用popper活动启动模式和活动onNewIntent方法中的一些逻辑来实现

我建议对您的活动使用单任务启动模式


我希望它能帮上忙。

你只是在创造意图,而没有激发它

你需要

startActivity(intent);
为了实际执行的意图


但是我认为您应该只更改活动视图等的内容,而不是一次又一次地创建活动

,但是我如何才能只更改活动中的内容?取决于页面显示的实际内容。必须至少有一个
视图
元素。您可以在
onTouch
W中更改其代码/内容当我这样做的时候…我的onCreate方法中的代码是否与newIntent方法中的代码相同?对我来说似乎有点尴尬…但我不知道如何在这里做得更好…SingleTop是否也适合我的需要?您可以在onNewIntent中编写代码,然后在onCreate中使用getIntent方法调用onNewIntent。