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 .
манифеста код файлаНет кнопки меню в телефоне, не могут использовать параметры настройки в Android приложение
<?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-файл в папке меню является
<?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" />
я разработал приложение , который использует настройки с помощью функции «Действия по приоритету» и «Панель действий». Когда я нажимаю кнопку трех точек -> настроек, тогда она отображается не отвечает, может помочь.
основной класс активности, пожалуйста, найти ниже, пожалуйста, найти, если какая-либо ошибка есть при вызове метода .-> 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);} }
Предпочтение код экрана Активность ->
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)
} `
Да, добавьте панель инструментов (actionBar)! – lionscribe
@lionscribe как ?? вы можете мне помочь ? где мне нужно внести изменения в свой код? что он делает, будет ли он создавать пункт меню на экране? –
также сможет использовать значения общих настроек через функцию предпочтения/ –