2012-08-11 81 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");