2016-11-13 3 views
0
i have developed an app , which uses the settings using Preference Activity and Action Title Bar . When i press the three dots-> settings button , then it displays not responding , can u help .  

Manifest-Datei Code istKeine Menü-Taste im Telefon, kann keine Einstellungen Optionen in Android App verwendet

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="demoproject.swatygupta.com.demoproject_actionbar"> 
<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".Activity2_2PreferenceActivityScreen" /> 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

XML-Datei im Menü Ordner

ist
<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:DemoProject_ActionBar="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
tools:context="demoproject.swatygupta.com.demoproject_actionbar.MainActivity"> 
<item 
    android:id="@+id/action_settings" 
    android:icon="@android:drawable/ic_menu_manage" 
    android:title="@string/action_settings" 
    DemoProject_ActionBar:showAsAction="never" /> 

Ich habe eine App entwickelt , die die Einstellungen über die Vorzugsaktivität und die Aktionstitelleiste verwendet. Wenn ich die drei Punkte-> Einstellungen-Taste, dann reagiert es nicht reagiert, können Sie helfen.

Hauptaktivitätsklasse Sie weiter unten finden, melden Sie sich bitte, wenn irgendein Fehler ist, während die Methode aufgerufen .-> public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { startActivity(new Intent(this, Activity2_2PreferenceActivityScreen.class)); return true; } return super.onOptionsItemSelected(item);} }

Preference Screen-Activity-Code ->

public final class Activity2_2PreferenceActivityScreen extends PreferenceActivity { 
    public Activity2_2PreferenceActivityScreen() 
{ 
    super(); 
} // constructor() 

@Override 
protected void onCreate(final Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.preferences); 

    // Camera preference 
    final ListPreference PreferenceofCamera = (ListPreference) findPreference("camera"); 

    setCameraPreferences(PreferenceofCamera); 

    PreferenceofCamera.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener(){ 
     @Override 
     public boolean onPreferenceClick(Preference preference) { 
      setCameraPreferences(PreferenceofCamera); 
      return false; 
     } 
    }); 

    // JPEG size preference 
    final ListPreference PreferenceofSize = (ListPreference) findPreference("size"); 

    setSizePreferences(PreferenceofSize, PreferenceofCamera); 

    PreferenceofSize.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener(){ 
     @Override 
     public boolean onPreferenceClick(Preference preference) { 
      setSizePreferences(PreferenceofSize, PreferenceofCamera); 
      return false; 
     } 
    }); 
} // onCreate(Bundle) 

private void setCameraPreferences(final ListPreference cameraPreference) 
{ 
    final int numberOfCameras = Camera.getNumberOfCameras(); 
    final CharSequence[] entries = new CharSequence[numberOfCameras]; 
    final CharSequence[] entryValues = new CharSequence[numberOfCameras]; 
    final Camera.CameraInfo Infoabtcamera = new Camera.CameraInfo(); 
    for (int cameraIndex = 0; cameraIndex < numberOfCameras; cameraIndex++) 
    { 
     Camera.getCameraInfo(cameraIndex, Infoabtcamera); 
     String cameraFacing; 
     switch (Infoabtcamera.facing) 
     { 
      case Camera.CameraInfo.CAMERA_FACING_BACK: 
       cameraFacing = "Back"; 
       break; 
      case Camera.CameraInfo.CAMERA_FACING_FRONT: 
       cameraFacing = "Front"; 
       break; 
      default: 
       cameraFacing = "unknown"; 
     } // switch 

     entries[cameraIndex] = "Camera " + cameraIndex + " " + cameraFacing; 
     entryValues[cameraIndex] = String.valueOf(cameraIndex); 
    } //for 

    cameraPreference.setEntries(entries); 
    cameraPreference.setEntryValues(entryValues); 

} // setCameraPreferences(ListPreference) 

private void setSizePreferences(final ListPreference sizePreference, 
           final ListPreference cameraPreference) 
{ 
    final String cameraPreferenceValue = cameraPreference.getValue(); 
    final int cameraIndex; 
    if (cameraPreferenceValue != null) 
    { 
     cameraIndex = Integer.parseInt(cameraPreferenceValue); 
    } // if 
    else 
    { 
     cameraIndex = 0; 
    } // else 
    final Camera camera = Camera.open(cameraIndex); 
    final Camera.Parameters params = camera.getParameters(); 
    camera.release(); 

    final List<Camera.Size> supportedPreviewSizes = params.getSupportedPreviewSizes(); 
    CharSequence[] entries = new CharSequence[supportedPreviewSizes.size()]; 
    CharSequence[] entryValues = new CharSequence[supportedPreviewSizes.size()]; 
    for (int previewSizeIndex = 0; previewSizeIndex < supportedPreviewSizes.size(); 
     previewSizeIndex++) 
    { 
     Camera.Size supportedPreviewSize = supportedPreviewSizes.get(previewSizeIndex); 
     entries[previewSizeIndex] = supportedPreviewSize.width + "x" 
       + supportedPreviewSize.height; 
     entryValues[previewSizeIndex] = String.valueOf(previewSizeIndex); 
    } // for 

    sizePreference.setEntries(entries); 
    sizePreference.setEntryValues(entryValues); 

}/setSizePreferenceData(ListPreference) 

} `

+0

Ja, fügen Sie eine Symbolleiste (actionBar) hinzu! – lionscribe

+0

@lionscribe wie ?? kannst du mir helfen ? Wo muss ich meinen Code ändern? Was macht es, wird es Menü-Option auf dem Bildschirm erstellen? –

+0

kann auch gemeinsame Präferenzen Werte über Preference Activity/ –

Antwort

0

Sie können die Werkzeugleiste immer wie unten gezeigt verwenden

hey diesen Code in Ihre Layoutdatei einfügen.

<android.support.v7.widget.Toolbar 
    android:id="@+id/my_toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:elevation="4dp" 
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> 

und in Ihre Java-Datei sollte dieser Code da sein

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_my); 
    Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); 
    setSupportActionBar(myToolbar); 
} 

speziell diese beiden Linien

Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); 
setSupportActionBar(myToolbar); 

Und das wird in der oberen rechten Ecke Benutzer eine Softmenütaste zeigen.

+0

public class LauncherActivity_StreamCameraActivity erweitert Aktivität {........................................... .................................................. ......................... geschützter void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.main); neue loadPreferences() execute();.} –

+0

dies einige der Teile meiner Haupttätigkeit –

+0

hey bitte aktualisiert überprüfen Antwort Hoffnung, dies hilft Ihnen – AJay

Verwandte Themen