2010-11-03 71 views
0

我创建的应用程序会根据菜单选项 调用主活动的首选项,这是使用显式意图完成的,但它不起作用。点击菜单项 调用活动将控制权传递给首选项活动的问题

public boolean onCreateOptionsMenu(Menu menu) 
{ 
    super.onCreateOptionsMenu(menu); 

    menu.add(0, Menu.FIRST+1, Menu.NONE, "Refresh"); 
    menu.add(0, Menu.FIRST+3, Menu.NONE, "Set Preferences"); 

    return true; 
} 

public boolean onOptionItemSelected(MenuItem item) 
{ 
    switch(item.getItemId()) 
    { 
     case Menu.FIRST+1: 
      Intent intent =new Intent(this,userpreferences.class); 
      startActivityForResult(intent,this.USER_PREFERENCES); 
      return true; 

     case Menu.FIRST+3: 

      return true;  
    } 

    return false; 
} 

偏好XML

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 
    <CheckBoxPreference 
     android:key="AUTO_UPDATE" android:title="update automatically" 
     android:summary="update automatically" android:defaultValue="true" /> 
    <ListPreference android:key="MINIMUM_MARK" android:title="minimum mark"  
     android:summary="enter the minimum mark of the student" 
     android:defaultValue="30" android:entries = "@array/minimumMarks" 
     android:entryValues="@array/minimum_mark_values" 
     android:dialogTitle="Check the minimum mark required" /> 
</PreferenceScreen> 

偏好活动

package com.xml.parse; 

import android.os.Bundle; 
import android.preference.PreferenceActivity; 

public class userpreferences extends PreferenceActivity 
{ 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     addPreferencesFromResource(R.xml.preferences); 
    } 
} 

一些身体PLZ告诉我做的更好或正确的方式

问候时,

Kariyachan

+0

您是否声明了清单中的首选项活动? – 2010-11-03 06:13:07

+0

感谢您的快速回复是的,我做到了。工作得很好,当我改变资源,数组到字符串数组将plz告诉什么是使用该问题 – DroidBot 2010-11-03 07:07:52

回答

1

不要使用startActivityForResult() - startActivity()是好的。 Here is a sample project显示使用选项菜单项打开PreferenceActivity

+0

感谢人这是我需要 – DroidBot 2010-11-03 08:52:41