Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 2活动1按钮_Android_Kotlin_Android Activity - Fatal编程技术网

Android 2活动1按钮

Android 2活动1按钮,android,kotlin,android-activity,Android,Kotlin,Android Activity,我有带按钮的MainActivity,我想在带1个按钮的MainActivity的其他2个活动之间移动。我尝试使用intent.getExtra和if,但它不起作用,或者我用错了。你能帮忙吗 Firstchoose.kt package anti.stress.antistress import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle impo

我有带按钮的MainActivity,我想在带1个按钮的MainActivity的其他2个活动之间移动。我尝试使用intent.getExtra和if,但它不起作用,或者我用错了。你能帮忙吗

Firstchoose.kt

package anti.stress.antistress

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import kotlinx.android.synthetic.main.activity_firstchoose.*

class Firstchoose : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_firstchoose)

        val one = findViewById<Button>(R.id.one)
        one.setOnClickListener {
            val one = Intent(this, Fiveways::class.java).putExtra("f",1)
            //one.putExtra("c",1)
            startActivity(one)

        eight.setOnClickListener {
            val eight = Intent(this, Fiveways::class.java).putExtra("ei",8)
            //eight.putExtra("c",8)
            startActivity(eight)
        }
    }
}

Fiveways.kt由两个按钮(1和8)打开,但如果我单击FirstchooseActivity按钮
1
,则按钮
angry2
将打开AdviceActivity,如果我单击FirstchooseActivity按钮
8
,则按钮
angry2
必须打开其他AdviceActivity。有人能帮忙吗?也许我不需要意图。putExtra?

您需要做的是首先编写条件并相应地在其中传递意图,就像,首先当if(您的条件1)时,然后为您想要打开的任何活动传递意图,然后进入else部分或else if条件为您想要打开的任何其他活动添加另一个意图

if(your condition1){
  angry2.setOnClickListener{
        val angry = Intent(this, Advice::class1.java)
        startActivity(angry)
    }
else if(your condition2){
 angry2.setOnClickListener{
        val angry = Intent(this, Advice::class2.java)
        startActivity(angry)
    }
}


希望它能对您有所帮助。

我不认为您需要额外的帮助。在您的主要活动中,请在意图之前检查变量的值

if(value == 1){
      angry2.setOnClickListener{
            val angry = Intent(this, Advice::class1.java)
            startActivity(angry)
        }
  else if(value == 2){
     angry2.setOnClickListener{
            val angry = Intent(this, Advice::class2.java)
            startActivity(angry)
        }
}

您可以从以下主要活动中获得意图:

  val value= getIntent().getIntExtra("f")
  angry2.setOnClickListener{
        if (value == 1) {
            val angry = Intent(this, First::class.java)
        startActivity(angry)
        }else{
        val angry = Intent(this, Advice::class.java)
        startActivity(angry)  
      }

    }

1按钮的用途是什么?如果你想,你需要根据按钮的按钮字符串打开活动,或者你可以使用2个按钮。我只需要使用一个按钮打开一个活动和两个活动。勾选我的答案,希望它的帮助我更新了我的问题。当我编写
val intent=intent(this,OneActivity::class.java)if(intent.getIntExtra(“name”,value)startActivity(intent)else val secondintent=intent(this,OtherActivity::class.java)startActivity(secondintent)时,如果可以检查它
它不起作用。上次它在两个结果中打开OtherActivity试试我的答案,因为我觉得可能是你有语法错误,比如你在错误的地方应用了条件。它编译但打开简单的活动:(
重写有趣的onCreate(savedInstanceState:Bundle?{super.onCreate(savedInstanceState)setContentView(R.layout.activity_fiveways)val value=getIntent().getIntExtra(“f”,1)angry2.setOnClickListener{if(value==1){val angry=Intent(this,Advice::class.java)startActivity(angry)}else{val other=Intent(this,adviceio::class.java)startActivity(其他)}
  val value= getIntent().getIntExtra("f")
  angry2.setOnClickListener{
        if (value == 1) {
            val angry = Intent(this, First::class.java)
        startActivity(angry)
        }else{
        val angry = Intent(this, Advice::class.java)
        startActivity(angry)  
      }

    }