Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 设置首选项活动未启动_Android_Xml_Preferences - Fatal编程技术网

Android 设置首选项活动未启动

Android 设置首选项活动未启动,android,xml,preferences,Android,Xml,Preferences,我正在开发简单的安卓应用程序,以获得用户的偏好,但设置活动没有出现 这里是主要活动 import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; pu

我正在开发简单的安卓应用程序,以获得用户的偏好,但设置活动没有出现

这里是主要活动

    import android.app.Activity;
     import android.content.Intent;
     import android.os.Bundle;
     import android.view.Menu;
     import android.view.MenuItem;
     import android.widget.Toast;

     public class MainActivity extends Activity {

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

                    @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;
                    }

                    public boolean OnOptionItemSelected(MenuItem item)
                    {
                            if(item.getItemId()==R.id.action_settings)
                        {
                                Toast.makeText(this,"Hi there",Toast.LENGTH_LONG).show();
                                                Intent intent = new Intent(this,SetPreferenceActivity.class);


                                startActivity(intent);
                        }   
                            return true;
                    }

                }
这里是prefence活动

public class Preference extends PreferenceFragment 
        {

            @Override
            public void onCreate(Bundle savedInstanceState) 
            {
                super.onCreate(savedInstanceState);
                addPreferencesFromResource(R.xml.prefernces);


            }


        }
这里是首选xml

 <?xml version="1.0" encoding="utf-8"?>
            <PreferenceScreen   xmlns:android="http://schemas.android.com/apk/res/android" >
            <PreferenceCategory
                    android:summary="Private server information"
                    android:title="Local Server">
                <EditTextPreference
                    android:key="ip"
                    android:summary="Please Enter Ip"
                    android:title="Configure ip" />
                <EditTextPreference
                    android:key="port"
                    android:summary="Enter port number"
                    android:title="Configure port"
                    />
            </PreferenceCategory>

            <PreferenceCategory
                android:summary="Soft Settings"
                android:title="Soft Settings">
                <EditTextPreference
                    android:key="appname"
                    android:summary="AppName Configuration"
                    android:title="AppName"
                    />
                <EditTextPreference
                    android:key="apikey"
                    android:summary="Api Key configuration"
                    android:title="API Key"
                    />
            </PreferenceCategory>



            </PreferenceScreen>

在SetPreferenceActivity中,应该从PreferenceActivity扩展,而不是从PreferenceFragment扩展。 大概是这样的:

public class SetPreferenceActivity extends PreferenceActivity implements
            OnSharedPreferenceChangeListener, OnPreferenceClickListener { // if needed
}

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

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

        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.android.mandy.splitsecond1.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="com.android.mandy.splitsecond1.Preference"
                android:label="@string/title_activity_preference" >
            </activity>
  <activity
           android:name="com.android.mandy.splitsecond1.SetPreferenceActivity">

       </activity>
 public class SetPreferenceActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);

             getFragmentManager().beginTransaction()
             .replace(android.R.id.content, new Preference())
             .commit();
        }

    } 
public class SetPreferenceActivity extends PreferenceActivity implements
            OnSharedPreferenceChangeListener, OnPreferenceClickListener { // if needed