2012-06-29 82 views
0

我正在做一个简单的应用程序。这也是我的第一个应用程序...如何通过点击表格行进入活动?

它有一个菜单的活动,我做了表格行中的每个菜单选项。每个表格行都包含一个图像按钮和一个文本说明。当我们点击每个表格行时,我想要转到另一个活动。我怎么做??

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

或者

是否有任何其他的方式比tablerow的创建这样的菜单,并用它去到另一个活动?

回答

1

首先让我们看看如何通过点击表格行来转到另一个活动。在XML文件属性的表行给这句法:

android:onClick="onClick" 

然后在你的活动刚过上创建方法把此行

public void onClick(View v){ 

Intent intent=new Intent(v.getContext(),newActivityname.class); 
startActivityForResult(intent,0); 

} 

通过这样做,当你在表行点击U将是重定向到另一个活动名称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); 
    } 

像这样基于一些条件,你可以设置你的布局。

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

+0

达很简单漂亮的代码... – Agnel

+0

嗯欢迎哥们 – Aamirkhan

+0

反正知道哪个表行被点击时,我们在接下来的活动R' 我想使用相同的Java文件来显示不同的布局根据表格行单击... – Agnel

0

在你的xml中,你可以给id给你的TableRow,然后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));    
    } 
}); 
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); 
     } 
    }; 
}