2013-07-14 54 views
0

我是剛剛接觸android開發的人員,而且我正在掛上一些可能非常基本的東西,但我很難找到答案。如何從陣列適配器中獲取元素屬性

我試圖開始一個新的活動,並從列表視圖中傳遞所選項目的名稱屬性。我想使用name屬性,因爲那樣我就可以使用該值來引用不同的字符串xml文件,並在第二個活動中創建一個新的listview。

這裏是我的main_activity_layout XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:gravity="center" 
tools:context=".MainActivity" > 

<ListView 
    android:id="@android:id/list" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="top" 
    android:layout_weight="1" > 

</ListView> 

下面是用於創建主活動列表視圖我的XML文件:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string-array name="guidelines"> 
    <item name = "abc">Option 1</item> 
    <item name = "def">Option 2</item> 

    </string-array> 
</resources> 

這裏是我的Java代碼:

package com.example.myapp; 

import java.lang.reflect.Array; 

import android.os.Bundle; 
import android.app.ActionBar; 
import android.app.Activity; 
import android.app.ListActivity; 
import android.content.Intent; 
import android.util.Log; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

public class MainActivity extends ListActivity { 


ArrayAdapter<String> itemsAdapter; 
String[] hello; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    setListAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.guidelines))); 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 

public boolean onOptionsItemSelected(MenuItem item) {  

    return super.onOptionsItemSelected(item); 
} 

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    // TODO Auto-generated method stub 
    super.onListItemClick(l, v, position, id); 

} 



} 

我想將name屬性從mainActivity中的選定列表項目傳遞到第二個活動,以便從與選定選項具有相同名稱的不同xml文件創建列表視圖。

任何幫助將是偉大的。謝謝。

回答

0

您的string-array資源中的name屬性被android忽略。如果您想使用類似的東西,請使用HashMap<item>內容映射到活動名稱。

+0

謝謝你的幫助 – A2345sooted