我有一个 fragment ,我也在 XML 中添加了一个按钮。我想让这个按钮启动一个新的菜单,所以我把它变成了一个列表 Activity java 类,当它被点击时,我的问题是,我在哪里添加按钮和 onclick 方法?在页面 fragment 类中?当我尝试这样做时,它当然无法解析我用来定义按钮的方法“findviewbyid”。它还会为 setContentView 抛出相同的错误。我也曾尝试将此代码放入 frag 的 Activity 类中,但是当我这样做时应用程序无法加载。这是我试图添加以使按钮起作用的代码:
Button chOptions = (Button) findViewById(R.id.bOptions);
chOptions.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setContentView(R.layout.channel_menu);
}
});
channel_menu 是我创建的列表 Activity 。这是我的 list 声明:
<activity android:name=".ChannelMenu"
android:label="Channel Options"
android:theme="@android:style/Theme.Holo">
<intent-filter>
<action android:name="android.intent.action.CHANNELMENU" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
谢谢!
最佳答案
如下所示在onActivityCreated()中添加代码并使用getView()方法
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
// get the button view
Button chOptions = (Button) getView().findViewById(R.id.bOptions);
// set a onclick listener for when the button gets clicked
chOptions.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setContentView(R.layout.channel_menu);
// Start new list activity
public void onClick(View v) {
Intent mainIntent = new Intent(getActivity(),
CarouselActivity.class);
startActivity(mainIntent);
}
});
}
关于android - 将启动新列表 Activity 的按钮添加到 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18285126/