Я пытаюсь создать Action Bar, следуя руководству Android Studio. Я знаком с VBA, C++ и Python, но это первый раз, когда я отважился на приложение, которое использует java, xml и т. Д. В одном. Я говорю это, потому что я думаю, что я потерял (или неправильно назвал) что-то в своем коде, так как, когда я пытаюсь запустить это, я получаю ошибку error: duplicate class: com.example.batman.myfirstapp.MyActivity
.Android Tutorial - добавление панели действий, дублирующий класс?
Я не понимаю, как это дубликат, у меня есть только один «MyActivity.java», поэтому я думаю, что не могу сделать больше одного public class MyActivity extends ...
за .java-файл?
Вот что у меня есть (пожалуйста, дайте мне знать, если мне нужно, чтобы включить другой код):
MyActivity.java
package com.example.batman.myfirstapp;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.support.v7.app.*;
public class MyActivity extends ActionBarActivity{
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_search:
// openSearch();
return true;
case R.id.action_settings:
// openSettings();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
public class MyActivity extends AppCompatActivity {
public final static String EXTRA_MESSAGE = ".com.batman.myfirstapp.MESSAGE";
/**
* Called when the user clicks the Send button
*/
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
// getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// If your minSdkVersion is 11 or higher, instead use:
getActionBar().setDisplayHomeAsUpEnabled(true);
}
}
main_activity_actions.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myfirstapp="http://schemas.android.com/apk/res-auto">
<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
myfirstapp:showAsAction="ifRoom" />
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
myfirstapp:showAsAction="never" />
</menu>
Опять же, я m не уверен, что другие файлы (strings.xml, DisplayMessageActivity.java и т. д.) были бы полезны для отладки выше, поэтому дайте мне знать, что еще я могу включить.
Благодарим за любые советы/помощь!
* Я не могу сделать больше, чем один общественный класс MyActivity распространяется ... на .java файл * Вы получили это! – adelphus