0

我正在制作一个简单的应用程序。它也是我的第一个应用程序......

它有一个带有菜单的活动,我在表格行中创建了每个菜单选项。每个表格行包含一个图像按钮和一个文本描述。当我们点击每个表格行时,我想去另一个活动。我怎么做??

是否可以使用单个类文件来显示多个布局文件(即每个菜单的内容)?

或者

除了 tableRow 之外,还有其他方法可以创建这样的菜单并使用它转到另一个 Activity 吗?

4

3 回答 3

1

首先,让我们看看如何通过单击表格行进入另一个活动。在 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);
    }

像这样基于某些条件,您可以设置布局。

对于您的第三个查询,请更具体,以便我们回答您。

于 2012-06-29T09:59:10.907 回答
0

在您的 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));             
    }
});
于 2012-06-29T09:58:47.083 回答
0

尝试:

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);
        }
    };
}
于 2012-06-29T10:04:57.313 回答