0
아래에서 볼 수있는 것처럼 항목 목록에 대해 작업하는 상황에 맞는 메뉴를 가져 오려고하지만 항목이 목록 이름을 클릭 할 때 연결하는 방법을 모르겠습니다. >>>>>가있는 줄은 내가 잘못 생각한 것입니다. 누군가 내가 뭘 잘못했는지 좀 봐주실 수 있습니까? 당신은 android docs on String Resources을 참조 할 수 있습니다 String[] names = getResources().getString(R.array.?????);
ContextMenu에서 간단한 오류가 발생했습니다. 누군가 제발 해결할 수 있습니까?
String[] names = getResources().getStringArray(R.array.?????);
에
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);
}
}}
하지만 물음표가 어디 넣을까요? –
추가 된 예. 예 : – Tarun
에 따라 strings.xml을 편집 할 수 있지만 모든 항목은 기본 스레드에 있습니다. 이 경우 어떻게해야합니까? –