我正在制作一个简单的应用程序。它也是我的第一个应用程序......
它有一个带有菜单的活动,我在表格行中创建了每个菜单选项。每个表格行包含一个图像按钮和一个文本描述。当我们点击每个表格行时,我想去另一个活动。我怎么做??
是否可以使用单个类文件来显示多个布局文件(即每个菜单的内容)?
或者
除了 tableRow 之外,还有其他方法可以创建这样的菜单并使用它转到另一个 Activity 吗?
首先,让我们看看如何通过单击表格行进入另一个活动。在 XML 文件属性的表行中给出以下语法:
android:onClick="onClick"
然后在你的活动中,在创建方法之后把这一行
public void onClick(View v){
Intent intent=new Intent(v.getContext(),newActivityname.class);
startActivityForResult(intent,0);
}
通过这样做,当您单击表格行时,您将被重定向到另一个活动名称newActivityname
。
其次,是的,您可以根据某些条件为相同的活动设置不同的布局文件。例如,如果我们想按照整数值条件放置布局文件,而不是像这样
int flag=0;
if(flag==0){
setContentView(R.layout.xml1);
}
if(flag==0){
setContentView(R.layout.xml2);
}
if(flag==1){
setContentView(R.layout.xml3);
}
if(flag==3){
setContentView(R.layout.xml4);
}
像这样基于某些条件,您可以设置布局。
对于您的第三个查询,请更具体,以便我们回答您。
在您的 xml 中,您可以为 TableRow 提供 id,然后 onClick 调用下一个活动,如下面的代码,在您的下一个活动中,您可以使用简单的 if-else 逻辑处理 setcontentview() 方法,并使用从前一个意图传递的值(例如rowId=1 用于第一行等)并设置您所需的布局,这可能会有所帮助。
TableRow tableRow=(TableRow)findViewById(R.id.LayoutFirstRow);
tableRow.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(presentActivity.this, destinationActivity.class));
}
});
尝试:
TableRow tablerow = new TableRow(this);
tablerow.setId(2000+i); //set id here
tablerow.setOnClickListener(getOnClickTableRow(tablerow));
//your code...
View.OnClickListener getOnClickTableRow(final TableRow tablerow) {
return new View.OnClickListener() {
public void onClick(View v) {
//START ACITIVYT HERE
Intent intent=new Intent(CURRENT_ACTIVITY.this,Activityname.class);
startActivity(intent);
}
};
}