【问题标题】:if the toast has already appeared displays another toast如果 toast 已经出现,则显示另一个 toast
【发布时间】:2013-11-09 01:11:58
【问题描述】:

我想知道是否有办法在用户打开活动时不收到相同的消息要显示另一条消息,代码是:

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

【问题讨论】:

  • 你可以使用 intent.putextra() 来决定显示什么消息

标签: android class android-activity android-toast


【解决方案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();
    }

}   

这是你的第二个活动:

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

        }
    });
}

【讨论】:

  • 我在这段代码中看到了一个问题 Bundle value = getIntent().getExtras(); int num = value.getString("sent").toString();如果(数){
  • 抱歉,您可以使用 Integer.toString(anyStringVariable);我没有代码编辑器
  • 我已经使用字符串数据类型编辑了我的答案,它可能包含一些错误,因为我目前没有编辑器。
【解决方案2】:

在活动 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);

【讨论】:

    猜你喜欢
    • 2015-06-15
    • 2011-10-19
    • 1970-01-01
    • 2016-12-13
    • 2015-10-27
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多