2015-04-07 119 views
-5

说的是谈论身体部位和锻炼。我如何显示Android列表中的另一个列表后的新列表

我想展现胸部时,其点击它显示锻炼的列表:

String[] bodyPart = { "Chest"}; 

String[] chestsWorkout = {"Bench", "Pushups", "Pullups", 
    "Incline bench", "Decline bench"}; 
+0

使用'HashMap' – Kon

+0

林不知道如何使用。 –

+0

您是通过粗略的Google搜索阅读文档还是查看任何示例? – tnw

回答

0

有很简单的方法来做到这一点。您可以将许多选项与chest一起放入该字符串数组bodyPart中,并且您可以为特定的bodyPart创建相关的字符串数组,如chestsWorkout。您可以检查哪个bodyPart用户点击过,然后可以通过意向传递像chestsWorkout这样的相关字符串数组。

MainActivity.java

package com.example.opnanotherlistexample; 

import java.util.ArrayList; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

public class MainActivity extends ActionBarActivity { 
    String[] bodyPart = { "Chest", "Legs" }; 

    String[] chestsWorkout = { "Bench", "Pushups", "Pullups", "Incline bench", 
      "Decline bench" }; 
    String[] legsWorkout = { "walk", "run"}; 

    private ListView listNew; 
    private ArrayList<String> newarraylist; 
    private ArrayAdapter<String> adapter; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     listNew = (ListView) findViewById(R.id.listNew); 
     newarraylist = new ArrayList<String>(); 
     for (int i = 0; i < bodyPart.length; i++) { 
      newarraylist.add(bodyPart[i]); 
     } 
     adapter = new ArrayAdapter<String>(getApplicationContext(), 
       android.R.layout.simple_dropdown_item_1line, newarraylist); 
     listNew.setAdapter(adapter); 
     listNew.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> adapter, View view, 
        int position, long id) { 
       // TODO Auto-generated method stub 
       String clickedItem = newarraylist.get(position).toString(); 
       Intent intent = new Intent(MainActivity.this, 
         SecondActivity.class); 
       if(clickedItem.toLowerCase().equals("chest")){ 
        intent.putExtra("parameters", chestsWorkout); 
       }else if(clickedItem.toLowerCase().equals("legs")){ 
        intent.putExtra("parameters", legsWorkout); 
       } 
       startActivity(intent); 

      } 
     }); 
    } 

} 

SecondActivity.java

package com.example.opnanotherlistexample; 

import java.util.ArrayList; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

public class SecondActivity extends Activity { 
    private ListView listAnother; 
    private ArrayAdapter<String> adapter; 
    private ArrayList<String> arraylist; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.secondactivity); 
     listAnother = (ListView) findViewById(R.id.listAnother); 
     if (getIntent().hasExtra("parameters")) { 
      String[] params = getIntent().getStringArrayExtra("parameters"); 
      arraylist = new ArrayList<String>(); 
      for (int i = 0; i < params.length; i++) { 
       arraylist.add(params[i]); 
       Log.e("balvier", params[i]); 
      } 
      adapter = new ArrayAdapter<String>(getApplicationContext(), 
        android.R.layout.simple_dropdown_item_1line, arraylist); 
      listAnother.setAdapter(adapter); 
     } 
    } 

} 

opnanotherlistexample清单

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.opnanotherlistexample" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="21" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".SecondActivity" /> 
    </application> 

</manifest> 
+0

谢谢你的编码 –

相关问题