到目前为止,我所看过的所有教程中,大多数只是“点击按钮”,我需要第二个活动按钮来打开一个新活动。
我将此类命名为fifth_layout.xml
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Amazon"
android:drawableLeft="@drawable/amazon"
android:drawableStart="@drawable/amazon"
android:layout_weight="0.07"
tools:ignore="HardcodedText"
android:id="@+id/button10"
android:textSize="35sp" />
之后在我的FifthActivity.java中我有
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class FifthActivity extends Activity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fifth_layout);
Button button = (Button) findViewById(R.id.button10);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
}
});
}
}
我只需要按钮就可以打开一个新的空白活动。但是当我点击按钮时没有任何反应?我只需要一个新的活动。我觉得代码是正确的我只需要帮助我可能做错了什么。
答案 0 :(得分:1)
你的onClickListener什么都不做,当然没有任何反应。
创建一个新的活动(假设您将其命名为NewActivity
,将其添加到AndroidManifest.xml
并在您的现有活动中添加以下代码:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
final Intent intent = new Intent(FifthActivity.this, NewActivity.class);
startActivity(intent);
}
});
我非常强烈地感觉你在Android开发中迷失了方向。我强烈建议您关注Udacity的Android开发course。
答案 1 :(得分:1)
好吧,所以你的布局就是单一的活动,对吗?
您的问题是“如何使用其他布局启动其他活动?”
要做到这一点,我们将使用“意图”(想想活动如何与彼此交谈,它们来回传递)
要创建意图并开始,您需要以下几行:
Intent intent = new Intent(this, Target.class);
startActivity(intent);
哪个应该在你的onClick中工作。
如果你在Android Studio中使用File&gt; New&gt; Activity创建了活动,那么这应该已经将活动放在你的AndroidManifest.xml
中,否则你需要自己添加它。
答案 2 :(得分:1)
您必须使用意图来打开新的活动。假设您要从SixthActivity
打开名为FifthActivity
的活动。
你应该用这个:
public class FifthActivity extends Activity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fifth_layout);
Button button = (Button) findViewById(R.id.button10);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(FifthActivity.this,SixthActivity.java);
FifthActivity.this.startActivity(intent);
}
});
}
}
希望这有帮助, 问候。