gpt4 book ai didi

java - 在 AndoridManifest.xml 中定义 OnClickListener

转载 作者:太空狗 更新时间:2023-10-29 14:23:32 25 4
gpt4 key购买 nike

我已使用 OnClickListener 链接我的 menu.java 文件中的所有按钮,并将其定义在 list 中,但按钮不起作用。我想我可能在 Manifest 中把它放错了。

菜单.java

package com.invoice;

import android.app.Activity;
import android.os.Bundle;
import android.view.View.OnClickListener;
import android.view.View;
import android.widget.Button;

public class menu extends Activity implements OnClickListener {
/** called the activity is first created. */
Button button1, button2, button3, button4, button5;


@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

button1 = (Button)findViewById(R.id.button1);
button2 = (Button)findViewById(R.id.button2);
button3 = (Button)findViewById(R.id.button3);
button4 = (Button)findViewById(R.id.button4);
button5 = (Button)findViewById(R.id.button5);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
button5.setOnClickListener(this);
}
public void onClick(View v) {
//TODO Auto-generate method stub
//figure out which button was pressed
switch (v.getId()) {
case R.id.button1:
//do button1 action
break;
case R.id.button2:
//do button2 action
break;
case R.id.button3:
//do button3 action
break;
case R.id.button4:
//do button4 action
break;
case R.id.button5:
//do button5 action
break;
}


}
}

对应的Java文件(每个按钮都有独立的java文件)

package com.invoice;


import android.app.Activity;
import android.os.Bundle;

public class Job extends Activity
{

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.job);
}

}

我为 list 中的每个按钮添加的内容:

<activity android:name=".Help"
android:label="@string/app_name">
<intent-filter>
<action android:name="com.invoice.help" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

最佳答案

您需要调用 startActivity 方法来在每次单击按钮时启动 Activity,如下所示:

public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
//do button1 action

// start next activity here
Intent intent=new Intent(menu.this,Job.class);
startActivity(intent);
break;
///.... same for all buttons

}
}

并且您必须在 AndroidManifest.xml 中注册所有 Activity,然后再将其用作:

<activity android:name=".menu"
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=".Help" />
<activity android:name=".Job" />
//.....same for others

关于java - 在 AndoridManifest.xml 中定义 OnClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14544645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com