estou fazendo o projeto do curso mas adicionei uma nova activity para mostrar o perfil do aluno e estou implementando a parte de sms, geo, browser e ligação nessa classe quando clico em cima dos respectivos campos, que no caso sãoTextViews, pra isso usei o findviewbyid e setOnClickListner no text view e nao da maneira como esta no curso que é criar o contextMenu. o problema é que para fazer ligação e mandar sms o mesmo textView é acionado, eu queria adicionar um contextMenu no momento de um click simples no TextView telefone aparecendo as opçoes de mandar sms ou fazer ligação.
Tem uma maneira que eu possa fazer isso?
vou postar aqui o codigo do PerfilAlunoActivity
:
public class PerfilAlunoActivity extends AppCompatActivity {
private Aluno aluno;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_perfil_aluno);
PerfilAlunoHelper helper = new PerfilAlunoHelper(this);
Intent intent = getIntent();
aluno = (Aluno) intent.getSerializableExtra("aluno");
helper.preenchePerfil(aluno);
TextView nomePerfil = (TextView) findViewById(R.id.Nome_Perfil);
nomePerfil.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(PerfilAlunoActivity.this,"sim, meu nome é"+aluno.getNome(),Toast.LENGTH_LONG).show();
}
});
TextView enderecoPerfil = (TextView)findViewById(R.id.Endereco_Perfil);
enderecoPerfil.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent mapa = new Intent(Intent.ACTION_VIEW);
mapa.setData(Uri.parse("geo:0,0?z=14&q="+aluno.getEndereco()));
startActivity(mapa);
}
});
TextView telefonePerfil = (TextView)findViewById(R.id.Telefone_Perfil);
telefonePerfil.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent mandaSms = new Intent(Intent.ACTION_VIEW);
mandaSms.setData(Uri.parse("sms:"+aluno.getTelefone()));
startActivity(mandaSms);
}
});
TextView SitePerfil = (TextView) findViewById(R.id.Site_Perfil);
SitePerfil.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intentSite = new Intent(Intent.ACTION_VIEW);
String site = aluno.getSite();
if(!site.startsWith("http://")){
site = "http://"+site;
}
intentSite.setData(Uri.parse(site));
//setIntent(intentSite);
startActivity(intentSite);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_perfil,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_perfil_editar:
Intent vaiParaFormulario = new Intent(this,FormularioActivity.class);
vaiParaFormulario.putExtra("aluno",aluno);
startActivity(vaiParaFormulario);
}
return super.onOptionsItemSelected(item);
}
}