我有两个文件:main_activity.xml和home.xml。我在main_activity.xml中创建了一个按钮
以下是代码段:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:background="@drawable/splash_background"
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=".MainActivity" >
<Button
android:id="@+id/Home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="43dp"
android:onClick="home"
android:text="Home" />
</RelativeLayout>
然后,我有我的home.xml。我希望按钮打开home.xml。我怎样才能做到这一点? 我不知道任何java和我是Android开发的新手。
以下是我的home.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:background="@drawable/app_bg"
android:layout_height="match_parent"
android:orientation="vertical" >
</LinearLayout>
以下是我的AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.idozer"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="false"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.idozer.SplashActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.example.idozer.MainActivity"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
这就是我的全部。如果您回复,请告诉我在哪里添加代码,例如目录或代码片段之间。
答案 0 :(得分:8)
要管理Android中的点击活动,您可以按照以下方式进行操作
在 YourActivity.java 类上实施OnClickListener
,如
public class MainActivity extends Activity implements OnClickListener
然后,在.java类中声明您的按钮,如
Button btn = (Button) findViewById(R.id.btnPlay);
然后使用按钮btn
变量,如下所示
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
myClick(v); /* my method to call new intent or activity */
}
});
处理点击事件:
public void myClick(View v) {
Intent intent = new Intent(**this, Swipe.class**);
startActivity(intent);// for calling the activity
}
您还需要在android manifest
中注册您的活动(.java),如下所示
<activity
android:name=".Swipe"
android:screenOrientation="landscape" >
</activity>
答案 1 :(得分:2)
您可以使用此代码。
Android:OnClickListener
在我们的活动课程中,我们添加了onclick方法。
在我们的活动课中,我们添加了onclick方法。
//On click event for button1
public void button1OnClick(View v) {
//Inform the user the button has been clicked
Toast.makeText(this, "Button1 clicked.", Toast.LENGTH_SHORT).show();
}
在布局文件中,我们添加对onclick处理程序的引用 活动。该应用程序将自动绑定onclick方法 view(在本例中为button1)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button1"
android:onClick="button1OnClick"/>
</LinearLayout>
答案 2 :(得分:1)
创建另一个类转到你的项目右键单击并单击class并创建Home。 在Home类文件中扩展活动并添加像这样的代码
public class Home extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
}
}
启动活动类中的添加此行
Intent intent = new Intent(SplashActivity.this,Home.class);
startActivity(intent);
在Android清单文件中添加Home活动类
<activity android:name="com.example.idozer.Home"
android:label="@string/app_name" >
</activity>
答案 3 :(得分:0)
android:onClick
,以使其更容易,更像Javascript-web,并从XML驱动所有内容。它内部的作用是在OnClickListener
上添加Button
,它会调用您的家庭方法。
<Button
android:id="@+id/Home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="43dp"
android:onClick="home"
android:text="Home" />
public void home(View view){
Intent intent=new Intent (view.getContext(),Luton.class);
this.startActivity(intent);
}
在您的活动课程中
使用java代码,您可以通过从xml获取按钮的ID来执行按钮单击。
<Button
android:id="@+id/myHomeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="43dp"
android:text="Home" />
Button button= (Button) findViewById(R.id.myHomeButton);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do whatever you want on button click
}
});
两者完全相同
答案 4 :(得分:0)
我会给你一点点开始,因为这个答案可以帮助那些在使用onClick()
方面遇到麻烦的人,但是你真的需要学习Java并通过 {{ 3}} 所以你可以提出更好的问题
您需要阅读关于Actviities
的{{3}}以及如何创建它们。然后在你的代码中你将有一个函数
public void home(View v) //the name of this function comes from where you declared in your manifest `android:onClick="home"
{
Intent intent (MainActivity.this, HomeActivity.class); //MainActivity is the name of current activity and HomeActivity is the name of the activity you want to start
can add intent extras/flags/categories here
startActivity(intent);
}
您还需要在HomeActivity
中添加manifest
,而不是Activities
。
但是你真的需要浏览文档并做一些教程来了解Android框架的运作方式,并且需要学习Java以使您的生活变得更加轻松。除了我之前提到的两个链接之外,还有Android Docs关于点击事件的信息,因为有不同的使用方式onClick()
我希望这足以让你开始,我真的希望你通过文档来更好地了解你在做什么。祝你好运!
另一个重要的入门链接
答案 5 :(得分:0)
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Button Clicked", Toast.LENGTH_SHORT).show();
}
});