Java I';I’我的上下文菜单中有一个简单的错误,有人能帮我整理一下吗?

Java I';I’我的上下文菜单中有一个简单的错误,有人能帮我整理一下吗?,java,android,android-contextmenu,Java,Android,Android Contextmenu,我正试图让一个上下文菜单为一个项目列表工作,如下所示,但我不确定当一个项目被点击到列表名称时如何链接。有>>>>>>>的那一行我想我弄错了。谁能看看我做错了什么吗? 以下是我的主要工作: import java.util.ArrayList; import android.app.ListActivity; import android.media.MediaPlayer; import android.os.Bundle; import android.view.ContextMenu; im

我正试图让一个上下文菜单为一个项目列表工作,如下所示,但我不确定当一个项目被点击到列表名称时如何链接。有>>>>>>>的那一行我想我弄错了。谁能看看我做错了什么吗? 以下是我的主要工作:

import java.util.ArrayList;
import android.app.ListActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends ListActivity {
private ArrayList<Sound> mSounds = null;
private SoundAdapter mAdapter = null;
static MediaPlayer mMediaPlayer = null;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
registerForContextMenu(getListView());
this.getListView().setSelector(R.drawable.selector);
//create a simple list
mSounds = new ArrayList<Sound>();
Sound s = new Sound();
s.setDescription("Anjels");
s.setSoundResourceId(R.raw.anjels);
mSounds.add(s);
s = new Sound();
s.setDescription("Aggro");
s.setSoundResourceId(R.raw.aggro);
mSounds.add(s);
s = new Sound();
s.setDescription("Axo");
s.setSoundResourceId(R.raw.axo);
mSounds.add(s);
s = new Sound();
s.setDescription("Basix");
s.setSoundResourceId(R.raw.basix);
mSounds.add(s);
s = new Sound();
s.setDescription("Bender");
s.setSoundResourceId(R.raw.bender);
mSounds.add(s);
s = new Sound();
s.setDescription("Blimp");
s.setSoundResourceId(R.raw.blimp);
mSounds.add(s);
mAdapter = new SoundAdapter(this, R.layout.list_row, mSounds);
setListAdapter(mAdapter);
}
@Override
public void onListItemClick(ListView parent, View v, int position, long id){
Sound s = (Sound) mSounds.get(position);
MediaPlayer mp = MediaPlayer.create(this, s.getSoundResourceId());
mp.start();

}@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.context_menu, menu);
  }


public boolean onContextItemSelected(MenuItem item) {
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
    >>>>>>String[] names = getResources().getStringArray(mSounds);
    switch(item.getItemId()) {
    case R.id.setasnotification:
          Toast.makeText(this, "Applying " + getResources().getString(R.string.setas) +
                      " context menu option for " + names[(int)info.id],
                      Toast.LENGTH_SHORT).show();
          return true;
    default:
          return super.onContextItemSelected(item);
    }
}}
import java.util.ArrayList;
导入android.app.ListActivity;
导入android.media.MediaPlayer;
导入android.os.Bundle;
导入android.view.ContextMenu;
导入android.view.ContextMenu.ContextMenuInfo;
导入android.view.MenuInflater;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.AdapterView.AdapterContextMenuInfo;
导入android.widget.ListView;
导入android.widget.Toast;
公共类MainActivity扩展了ListActivity{
private ArrayList mSounds=null;
私有SoundAdapter mAdapter=null;
静态MediaPlayer层=空;
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
registerForContextMenu(getListView());
this.getListView().setSelector(R.drawable.selector);
//创建一个简单的列表
mSounds=newarraylist();
声音s=新声音();
s、 setDescription(“Anjels”);
s、 setSoundResourceId(R.raw.anjels);
mSounds.add(s);
s=新声音();
s、 集合描述(“Aggro”);
s、 setSoundResourceId(R.raw.aggro);
mSounds.add(s);
s=新声音();
s、 setDescription(“Axo”);
s、 setSoundResourceId(R.raw.axo);
mSounds.add(s);
s=新声音();
s、 setDescription(“Basix”);
s、 setSoundResourceId(R.raw.basix);
mSounds.add(s);
s=新声音();
s、 设置说明(“折弯机”);
s、 setSoundResourceId(R.raw.bender);
mSounds.add(s);
s=新声音();
s、 赛特说明(“飞艇”);
s、 setSoundResourceId(R.raw.blimp);
mSounds.add(s);
mAdapter=新的SoundAdapter(此,R.layout.list_行,mSounds);
setListAdapter(mAdapter);
}
@凌驾
public void onListItemClick(ListView父视图、视图v、整数位置、长id){
声音s=(声音)mSounds.get(位置);
MediaPlayer mp=MediaPlayer.create(这是s.getSoundResourceId());
mp.start();
}@凌驾
public void onCreateContextMenu(ContextMenu菜单、视图v、ContextMenuInfo菜单信息){
super.onCreateContextMenu(menu,v,menuInfo);
MenuInflater充气机=getMenuInflater();
充气机。充气(右菜单。上下文菜单,菜单);
}
公共布尔值onContextItemSelected(MenuItem项){
AdapterContextMenuInfo信息=(AdapterContextMenuInfo)项。getMenuInfo();
>>>>>>字符串[]名称=getResources().getStringArray(mSounds);
开关(item.getItemId()){
案例R.id.setasnotification:
Toast.makeText(这是“正在应用”+getResources().getString(R.string.setas))+
“+names[(int)info.id]的上下文菜单选项,
吐司。长度(短)。show();
返回true;
违约:
返回super.onContextItemSelected(项目);
}
}}

CHange
String[]names=getResources().getString(R.array.??)

String[]names=getResources().getStringArray(R.array.??)

你可以参考

字符串数组资源的示例:

XML file saved at res/values/strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
    </string-array>
</resources>

增加了一个例子。您可以按照示例编辑strings.xml,但所有我的项目都在主线程中。那样的话我该怎么办?
String[] names = getResources().getStringArray(R.array.planets_array);