2012-08-11 82 views
0

我想向用户展示我的应用程序中不同可用活动的列表,但我希望名称是明确的,例如“Accelerometer Control”或“Line Follower”。现在这些活动存储在String数组中,这些活动名称是显示和调用的内容。我想要显示“Line Follower”并且打电话给“LineFollower”活动(没有空间)。我还没有找到任何这样的例子。Android ListActivity不同的标题和活动名称

这里的ListActivity应该显示可用的活动:

public class ActivityList extends ListActivity { 
    // here I'd like to have "Accelerometer Control", "Touch Control"... 
    String[] activities = new String[] {"AccelerometerControl", "TouchControl", "ArrowControl", "LineFollower", "Piano", "SendData", "LEDEqualizer", "Program"}; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setListAdapter(new ArrayAdapter<String>(ActivityList.this, android.R.layout.simple_list_item_1, activities)); 
    } 

    @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
     super.onListItemClick(l, v, position, id); 

     String activity = activities[position]; 

     try 
     { 
      Class<?> activityClass = Class.forName("com.bluetooth." + activity); 
      Intent intent = new Intent(ActivityList.this, activityClass); 
      startActivity(intent); 
     } 
     catch(ClassNotFoundException e) 
     { 
      e.printStackTrace(); 
     } 
    } 
} 

回答

0

保持活动,就像你通常会希望出现在列表中,当它的时间来启动它们简单地去掉名称之间的空白空间:

String[] activities = new String[] {"Accelerometer Control", "Touch Control", "Arrow Control", "Line Follower", "Piano", "Send Data", "LED Equalizer", "Program"}; 

// ... 
String activity = activities[position]; 
activity = activity.replace(" ", ""); 
try { 
    Class<?> activityClass = Class.forName("com.bluetooth." + activity); 
    Intent intent = new Intent(ActivityList.this, activityClass); 
    startActivity(intent); 
} catch(ClassNotFoundException e) { 
    e.printStackTrace(); 
} 
0

本身尝试的setTitle,这样在其中u希望这些activites:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
setContentView(R.layout.main);  
this.setTitle("myclass2");