按钮到活动
我是新来的Android Studio,但尽我所能学习它。 这是我想到的情况,不幸的是找不到答案,即使它看起来很基础。按钮到活动
我的应用程序3 buttons (Workouts, Results, Info)
F.e开始当我点击“试训”我想给我把它叫做WorkoutsActivity.java具有12 buttons活动。
当我点击“结果”我想对这个活动ActivityResults.java等等
- 什么是这些不同的3个按钮链接到不同的3个活动的代码?
- 我是否需要为WorkoutsActivity.java中的按钮创建12个新活动? (是Android的工作原理?)
我非常感谢您的帮助。谢谢。
你可以到一个按钮单击事件反应与setOnClickListener方法
myButton.setOnClickListener(new OnClickListener...
然后它就会自动生成的onClick处理程序。
并使用它的意图开始一项新的活动。
Intent i = new Intent(from.this, to.class);
startActivity(i);
显然,你需要从和改变到的活动名称
哇举行的冠军......正如我所说的,我刚开始与Android工作室和Java一般。您的评论很有意义,我非常感谢。你可以从“公共课”开始......这可能听起来很愚蠢,但我在这里寻找整个代码。你建立我的“机器人心态”只是在几秒钟 – Karolis
邮编拿到代码 – SQLiteNoob
好了,这里有您需要了解之前,我发布的源代码几个概念:布局,意见,活动,意图和事件。
视图是可见的UI元素如文本,图像,按钮,进度条,评级酒吧等
布局是谁显示视图中所定义的顺序,如行,列或不可见的UI元素相对于其他视图的位置(toRightOf,toLeftOf等)它们也被称为容器。
活动就像处理单个任务的'页面'。它包含视图和布局(甚至更多)和上下文。
意图是一种桥梁,去从另一个活动。有很多事情要了解他们,但基本上认为像一座桥。
最后,事件是用户与意见的交互方式:点击,触摸,拖拽,......他们包含监听器和处理器,如OnClickListener和的OnClick。很明显,第一个人听,第二个人处理事件。
package com.learnandroid.myapplication;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button myButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myButton = (Button) findViewById(R.id.myButton);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, SecondActivity.class);
startActivity(i);
}
});
}
}
MainActivity.java
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.learnandroid.myapplication.MainActivity">
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My Button" />
</RelativeLayout>
activity_main.xml中
不要忘记申报您的清单每一个活动:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.learnandroid.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondActivity"></activity>
</application>
</manifest>
AndroidManifest.xml中
以下是你需要遵循伪代码:
Class
Button (3 times)
onCreate
Inflate buttons (3 times)
Click events (3 times)
End of onCreate
End of class
Herie是结果这个伪代码应该给:
package com.learnandroid.myapplication;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button myButton;
Button myButton2;
Button myButton3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myButton = (Button) findViewById(R.id.myButton);
myButton2 = (Button) findViewById(R.id.myButton2);
myButton3 = (Button) findViewById(R.id.myButton3);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, SecondActivity.class);
startActivity(i);
}
});
myButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, ThirdActivity.class);
startActivity(i);
}
});
myButton3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, FourthActivity.class);
startActivity(i);
}
});
}
}
而且在xml文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.learnandroid.myapplication.MainActivity">
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My Button" />
<Button
android:id="@+id/myButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My Button 2" />
<Button
android:id="@+id/myButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My Button 3" />
</RelativeLayout>
不要忘记在清单申报的活动:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.learnandroid.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondActivity"></activity>
<activity android:name=".ThirdActivity"></activity>
<activity android:name=".FourthActivity"></activity>
</application>
</manifest>
第二,第三和第四实际上是空的。
如果您需要按钮来匹配1/3屏幕大小,则可以使用layout_weight属性。
这可以帮助你https://developer.android.com/training/basics/activity-lifecycle/index.html –