我目前正在申请,但是我无法启动活动componentsInfo
。我在网上找到了很多解决方案,但它们都不适用于我。我尝试清理我的项目文件并重新启动Eclipse
,但仍然会出现错误。我尝试使用DDBS
调试,然后找到' setOnClickListener
'有什么不对劲。我尝试编辑它。但是错误仍然存在。
注意:实施view.OnClickListener
对我也不起作用。
public class MainActivity extends Activity{
private Button mBreakfast;
private Button mLunch;
private Button mDinner;
private Button mSnack;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
mBreakfast = (Button) findViewById(R.id.btn_breakfast);
mLunch = (Button) findViewById(R.id.btn_lunch);
mDinner = (Button) findViewById(R.id.btn_dinner);
mSnack = (Button) findViewById(R.id.btn_snack);
mBreakfast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this,RestInfoFragment.class);
startActivity(intent);
}
});
}
}
答案 0 :(得分:0)
好吧导入可能是个错误!
如果是这样的话:
import android.content.DialogInterface.OnClickListener;
更改为:
import android.view.View.OnClickListener;
答案 1 :(得分:0)
RestInfoFragment是一个片段,您想在单击按钮时启动它吗?
没有像使用Intents的活动一样调用片段。要启动片段,请使用以下代码:
getFragmentManager().beginTransaction()
.replace(R.id.container, new RestInfoFragment).commit();
答案 2 :(得分:0)
从你的命名,我猜RestInfoFragment是一个片段,你在另一个活动中使用按钮点击导航到RestInfoFragment,就像一个Activity。
您不能将Fragment用作活动。更改RestInforFragment以扩展FragmentActivity或在视图中膨胀片段。
如果扩展FragmentActivity,则不需要对当前MainActivity进行任何更改。
如果您正在使用Fragment
getFragmentManager().beginTransaction()
.replace(R.id.container, new RestInfoFragment).commit();
如果您的RestInfoFragment正在使用整个屏幕,我建议使用FragmentActivity。