请在android studio中解决这个问题,我是应用程序开发的新手。 我想在一个页面中创建3个按钮,并将每个按钮导航到每个不同的页面。 我需要java的代码,即“Mainactivity.java” 我已经声明了3个按钮ID 我在app清单中设置了所有内容。 我能够一次只导航单个按钮,但我如何安排所有三个导航按钮?
公共类MainActivity扩展AppCompatActivity实现了View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button buttonWRGL = (Button)findViewById(R.id.buttonWRGL);
Button buttonHNK = (Button)findViewById(R.id.buttonHNK);
Button buttonKZP = (Button)findViewById(R.id.buttonKZP);
buttonWRGL.setOnClickListener(this);
buttonHNK.setOnClickListener(this);
buttonKZP.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.buttonWRGL:
break;
case R.id.buttonHNK:
break;
case R.id.buttonKZP:
break;
}
}
}
答案 0 :(得分:0)
您的问题似乎不清楚,但我想您是在询问如何通过点击按钮加载其他布局/活动/片段。
嗯,这取决于你想要做的三个动作中的哪一个:
1)为了加载另一个布局,您需要在视图中为新布局充气;为此,您需要清除实际布局并为新布局充气。 这是一些示例代码:
//you may change it to whichever layout you used
LinearLayout ll = (LinearLayout) findViewById(R.id.mainLayout);
//remove previous view
ll.removeAllViews();
//set the new view
setContentView(R.layout.new_layout);
2)如果你想开始一个新的活动,你需要使用一个Intent并加载它。 示例代码:
//create the new intent; it will refer to the new activity
Intent intent = new Intent(this, NewActivity.class);
//pass any data to the new activity; cancel this line if you don't need it
intent.putExtra(extra_title, extra)
//start the new activity
startActivity(intent);
3)如果您想要更改片段,则需要执行事务。 示例代码:
//create the new fragment
Fragment newFragment = new MyFragment();
//start a fragment transaction
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
//replace the old fragment with the new
transaction.replace(R.id.frame, newFragment).commit();
希望这会有所帮助;如果没有,请尝试编辑您的问题,以澄清您的意思。
修改强>
你应该为每个按钮添加一个新的OnClickListener,但我会做的与你现在做的不同。 我会做这样的示例代码:
buttonWRGL.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(this, NewActivity1.class);
startActivity(intent);
}
});
对于每个按钮。在这段代码中,我直接将一个特定的OnClickListener附加到按钮;它将包含您需要的意图。 您可以在每个按钮中复制此项,甚至是10k按钮,您只需要使用要启动的活动更改intent声明中的活动名称。