2013-04-26 54 views
0

我有一个的TableRow,我把它当点击打开一个新的活动:的TableRow的onclick听众

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:stretchColumns = "1" 
android:shrinkColumns = "1"> 

<TableRow 
    android:id="@+id/tableRow1" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:gravity="center_vertical"> 

       //content 
</TableRow> 

TableRow row1 = (TableRow) item.findViewById(R.id.tableRow1); 
    row1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 

      Log.i("click detected", "yes"); 
      Bundle bundle = new Bundle(); 
      bundle.putString("noticeID",String.valueOf(data[pos].getID())); 
      bundle.putString("title",data[pos].getTitle()); 

      Intent newIntent = new Intent(activity, ReadNotice.class); 
      newIntent.putExtras(bundle); 
     } 
    }); 

写入日志,但新的活动不开,我错过了什么?

+3

其中是startActivity(newIntent); ? – 2013-04-26 14:04:19

回答

1

你必须开始活动。 startActivity(newIntent);

+0

这么愚蠢的错误!谢谢! – user1256477 2013-04-26 14:08:20

0
/************ if table row is dynamic then this method else method 2 is perfect************/ 
//if we want to applay listener on dynamic tablerow then use this 
//sure that perfect 
TablRowe tr = new TableRow(this); 
tr.setClickable(true); 
tr.setId(100);// if in loop then add 1 counter with 100 like (100+counter) at end count++ it 
tr.setOnClickListener(this); 
@Override 
    public void onClick(View v) 
{ 
     switch (v.getId()) 
     { 
     case 100: 
       Toast.makeText(getApplicationContext(), "100", Toast.LENGTH_SHORT).show(); 
      break; 

     case 101: 
      Toast.makeText(getApplicationContext(), "101", Toast.LENGTH_SHORT).show(); 
      break; 
} 
/************************** for simple like this ************************/ 
    TableRow row1 = (TableRow)findViewById(R.id.row1); 
row1.setonClickListener(this); 
public void onClick(View v) 
{ 
switch (v.getId()) 
     { 
     case R.id.row1: 
      // do work 
      break; 
      }   
}