-1

ユーザーがアクティビティを開いたときに同じメッセージを取得しない方法があるかどうかを知りたかったのですが、私のアクティビティでは、開いているときに、ユーザーが同じアクティビティに戻るとトースト付きのメッセージが表示されます。コードは次のとおりです。

 @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.q_050);

  //--> Type mismatch: cannot convert from String to int    

Bundle value = getIntent().getExtras();
            int num = value.getString("sent").toString();
            if(num){
                Toast.makeText(getApplicationContext(), "next message", Toast.LENGTH_SHORT).show();
            }
            else{
                Toast.makeText(getApplicationContext(), getApplicationContext().getString(R.string.checkpoint), Toast.LENGTH_SHORT).show();
            }
4

2 に答える 2

1

これはあなたの最初の活動です:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.q_050);
    Bundle value = getIntent().getExtras();
    String str= value.getString("sent").toString();
    if(str =="activity_two"){
        Toast.makeText(getApplicationContext(), "next message", Toast.LENGTH_SHORT).show();
    }
    else{
        Toast.makeText(getApplicationContext(), getApplicationContext().getString(R.string.checkpoint), Toast.LENGTH_SHORT).show();
    }

}   

これは 2 番目のアクティビティです。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.second);
    returnButton = (Button) findViewById(R.id.returnButton);//button to return to previous activity
    returnButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Intent intent = new Intent(SecondActivity.this,
                    FirstActivity.class);
            intent.putExtra("sent", "activity_two"); //here 1 is a number used in first activity for if else
            startActivity(intent);

        }
    });
}
于 2013-11-09T01:40:35.277 に答える
0

アクティビティ A で文字列を作成します。

String test = "blahblahblah";

バンドルを作成します:

Bundle  b = new Bundle();

次に、上記の文字列をバンドルに入れます:

b.putString("testing", test);

アクティビティ B を定義します。

Intent i = new Intent(this, YourActivityB.class);

あなたの余分なバンドルを入れてください:

i.putExtras(b);

活動を開始します:

startActivity(i);
于 2013-11-09T01:41:29.957 に答える