私はListViewを持っています。このListViewには配列があり、配列には5つの番号があります。まず、最初のアクティビティでは、ユーザーが5つの数値を選択し、5つの数値が2番目のアクティビティでListViewに移動します。コンテキストメニューで数字をクリックすると、数字5つの数字でIntent
を開始したいと考えています。インテントはそのポジションを開始します。しかし、なぜ私は選択された番号を得ることができないのですか?ContextMenuのインテントのListViewのtextviewを取得するには?
public class AnaMenu extends AppCompatActivity {
public static final int MENU_Ara = Menu.FIRST+1;
int sayı = 50;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ana_menu);
ListView liste = (ListView) findViewById(R.id.oyun);
OyunTextView oyunTextView = new OyunTextView();
liste.setAdapter(oyunTextView);
registerForContextMenu(liste);
}
class OyunTextView extends BaseAdapter {
@Override
public int getCount() {
Intent i = getIntent();
final ArrayList<String> secilmis = i.getStringArrayListExtra("listem");
return secilmis.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = getLayoutInflater().inflate(R.layout.oyuntextview , null);
TextView namesbox = (TextView)convertView.findViewById(R.id.isim);
TextView sayılar = (TextView)convertView.findViewById(R.id.sayı);
Intent i = getIntent();
final ArrayList<String> secilmis = i.getStringArrayListExtra("listem");
namesbox.setText(secilmis.get(position));
sayılar.setText(String.valueOf(sayı));
if (sayı == 50) {
sayılar.setTextColor(getResources().getColor(R.color.elli));}
return convertView;
}
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
menu.add(Menu.NONE, MENU_Ara, Menu.NONE, "Ara");
super.onCreateContextMenu(menu, v, menuInfo);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
Intent i = getIntent();
secilmis = i.getStringArrayListExtra("listem");
switch (item.getItemId()) {
case MENU_Ara:
Intent ara = new Intent(Intent.ACTION_DIAL);
ara.setData(Uri.parse());
startActivity(ara);
return true;
}
return super.onContextItemSelected(item);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.mains,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_browse :ayar();return true;
case R.id.backbut: geri();return true;
}
return super.onOptionsItemSelected(item);
}
private void ayar() {
Intent i = new Intent(AnaMenu.this, Ayarlar.class);
startActivity(i);
}
private void geri() {
Intent ii = new Intent(AnaMenu.this, MainActivity.class);
startActivity(ii);
AnaMenu.this.finish();
}
}
}
文字列値= secilmis.get(info.position).toString(); –
動作していません。switch(item.getItemId()){ case MENU_Ara: Intent ara =新しいインテント(Intent.ACTION_DIAL); 文字列値= secilmis.get(info.position).toString(); ara.setData(Uri.parse(value)); startActivity(ara);このリストビューはカスタマイズされています。 3つのテキストビューがあります。 –
uは完全なソースを共有できますか? –