//activity principal...
public class MainActivity extends SherlockFragmentActivity {
public List<Meses> meses;
private AdapterDaLista adapterlista;
private DataBaseAdapter dbAdapter;
private Context context;
private ListView listView;
private String mesclicado;
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@SuppressLint("NewApi")
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// requestWindowFeature(Window.FEATURE_NO_TITLE);
// this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.main);
carregaMes();
getFragmentManager().beginTransaction().replace(R.id.botoes_fragments, new LogoInicio()).commit();
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> adapter, View selectedItemView, int posicao,
long id) {
Meses item = (Meses) listView.getAdapter().getItem(posicao);
mesclicado = item.getNomemes().toString();
Toast.makeText(getApplication(), mesclicado, 50).show();
Botoes dpf = new Botoes();
android.app.FragmentTransaction beginTransaction = getFragmentManager().beginTransaction();
beginTransaction.replace(R.id.botoes_fragments, dpf, Botoes.class.getCanonicalName());
// Bundle args = new Bundle();
// args.putString("NOMES", mesclicado);
// dpf.setArguments(args);
beginTransaction.addToBackStack("botoes_fragments");
beginTransaction.commit();
// quando pego o ida da erro.
//Toast.makeText(getApplication(), item.getIdmes(), 500).show();
}
});
}// aqui fecha o oncreate
public void carregaMes() {
dbAdapter = new DataBaseAdapter();
meses = dbAdapter.getLista(getApplicationContext());
// meses = dbAdapter.getLista(context);
adapterlista = new AdapterDaLista(this, meses);
listView = (ListView) findViewById(android.R.id.list);
listView.setAdapter(adapterlista);
}
public String getmesClicado() {
// TODO Auto-generated method stub
Toast.makeText(getApplication(), mesclicado + "metodo do retorno do click", 50).show();
return mesclicado;
}
// barra do topo
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
public boolean onOptionsItemSelected(
com.actionbarsherlock.view.MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_refresh:
// deleta do cache
FileCache fc = new FileCache(this);
fc.clear();
ImageLoader il = new ImageLoader(this);
il.clearCache();
break;
case R.id.menu_anexo:
break;
case R.id.menu_close:
finish();
break;
}
return true;
}
}
//activity dos botoes
public class Botoes extends Fragment {
private TextView mesclick;
public List<Meses> meses;
private String textlistview;
private MainActivity mainActivity;
private ImageButton bt_cosmetologia, bt_nutricao, bt_odonto, bt_veterinaria, bt_especialidades, bt_multimercado;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saveInstanceState){
View botoes = inflater.inflate(R.layout.botoes, null);
this.bt_cosmetologia = (ImageButton) botoes.findViewById(R.id.imageCosmetologia);
this.bt_nutricao = (ImageButton) botoes.findViewById(R.id.imageNutricao);
this.bt_odonto = (ImageButton) botoes.findViewById(R.id.imageOdonto);
this.bt_veterinaria = (ImageButton) botoes.findViewById(R.id.imageVeterinaria);
this.bt_especialidades = (ImageButton) botoes.findViewById(R.id.imageEspecialidades);
this.bt_multimercado = (ImageButton) botoes.findViewById(R.id.imageMultimercado);
//ImageButton bt_multimercado = (ImageButton) botoes.findViewById(R.id.imageMultimercado);
//recebedo putextras o valor do text view
// textlistview = getActivity().getIntent().getStringExtra("NOMES");
this.textlistview = mainActivity.getmesClicado();
//textlistview = ((MainActivity) getSherlockActivity()).getmesClicado();
this.mesclick = (TextView) botoes.findViewById(R.id.textViewMesClicado);
this.mesclick.setText(textlistview);
this.bt_cosmetologia.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent inn = new Intent(getActivity(), ExibeGallery.class);
startActivity(inn);
}
});
this.bt_nutricao.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
this.bt_odonto.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
return botoes;
}//aqui fecha o oncreate
private MainActivity getSherlockActivity() {
// TODO Auto-generated method stub
return null;
}
}
//caso queira os xmls so pedir
Desculpe,--Acho que não fui claro.Manda por favor o codigo .java da sua Main e do seu fragment, estou com uma pequena suspeita mas so preciso confirmar..Abraço--Cordialmente,Marcos ReisAnalista de Sistemas / AndroidPontomobiAny screen,Anywhere™São Paulo | Rio | BH | Recife | London
On Jan 7, 2013, at 10:14 , Felippe dos Santos Ferreira <felippenasuacasa@gmail.com> wrote:--public class MainActivity extends SherlockFragmentActivity
olha o xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="248dp"
android:layout_height="fill_parent"
android:padding="5dp" >
<ListView
android:id="@+id/android:list"
android:layout_width="223dp"
android:layout_height="match_parent"
android:layout_marginLeft="2dp"
android:background="@color/corner"
android:divider="@color/list_divider"
android:clickable="true"
android:focusableInTouchMode="true"
android:footerDividersEnabled="true"
android:headerDividersEnabled="true"
android:cacheColorHint="#00000000"
android:listSelector="@color/list_selector"
android:dividerHeight="1dp"
android:fadeScrollbars="false"
android:padding="10dp"
android:textColor="@color/text_bg"
tools:listitem="@layout/umitemdalistameses" >
</ListView>
</LinearLayout>
<FrameLayout
android:id="@+id/botoes_fragments"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
</LinearLayout>Em 7 de janeiro de 2013 09:10, Marcos Reis | .Mobi <marcos.reis@pontomobi.com.br> escreveu:
Grande Felipe,Me responde uma coisa, a sua MainActivity é a activity onde vc exibe o seu fragment?Pq o cast q vc esta fazendo tem q ser exatamente para a activity que esta "sobreposta" pelo fragment senão vai dar erro mesmo.Qualquer coisa é só falar.--Cordialmente,Marcos ReisAnalista de Sistemas / AndroidPontomobiAny screen,Anywhere™São Paulo | Rio | BH | Recife | London
On Jan 7, 2013, at 08:59 , Felippe dos Santos Ferreira <felippenasuacasa@gmail.com> wrote:--cara agora da um erro de nullpointexpeption que não consigo achar...Em 6 de janeiro de 2013 14:28, Marcos Reis | .Mobi <marcos.reis@pontomobi.com.br> escreveu:
A velho foi mal.. acabei de ver aqui.. não tinha prestado atenção não.. mais assim, pelo poco q eu entendo o putExtra vc so vai conseguir passar quando vc evocar um startActvity como vc ta fazendo com fragment você pode fazer assim:1 - declare um atributo String de escopo de classe que será o item clicado.2 - crie um método getMesClicado() que retorne o atributo do passo 1.3 - no seu fragment utilize para recuperar o valor o seguinte trecho:String mesClicadoActivityPai = ((SuaActiviyPrincipal) getSherlockActivity()).getMesClicado();this.mesclick.setText(mesClicadoActivityPai);Acredito que dessa forma vc vai conseguir resolver seu problema, eu tive que fazer algo semelhante em um app que eu desenvolvi e consegui resolver o problema assim.T+--Cordialmente,Marcos ReisAnalista de Sistemas / AndroidPontomobiAny screen,Anywhere™São Paulo | Rio | BH | Recife | London
On 06/01/2013, at 15:22, Felippe dos Santos Ferreira <felippenasuacasa@gmail.com> wrote:o erro é que não passa nada para a outra activity por put extras...--
uma activity é ... MainActivity extends SherlockFragmentActivity(aqui te a lista clicada) a outra é Botoes extends Fragment (aqui recebe o item da lista clicada)
Em 6 de janeiro de 2013 15:12, Marcos Reis | .Mobi <marcos.reis@pontomobi.com.br> escreveu:Qual o erro que ta te retornando.--Cordialmente,Marcos ReisAnalista de Sistemas / AndroidPontomobiAny screen,Anywhere™São Paulo | Rio | BH | Recife | London
On 06/01/2013, at 15:09, Felippe dos Santos Ferreira <felippenasuacasa@gmail.com> wrote:mudei um pouco o codigo da uma olhada....--
//assim passa por put extras
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> adapter, View selectedItemView, int posicao,
long id) {
Meses item = (Meses) listView.getAdapter().getItem(posicao);
mesclicado = item.getNomemes().toString();
Toast.makeText(getApplication(), mesclicado, 50).show();
Botoes dpf = new Botoes();
android.app.FragmentTransaction beginTransaction = getFragmentManager().beginTransaction();
beginTransaction.replace(R.id.botoes_fragments, dpf, Botoes.class.getCanonicalName());
Bundle args = new Bundle();
args.putString("NOMES", mesclicado);
dpf.setArguments(args);
beginTransaction.addToBackStack("botoes_fragments");
beginTransaction.commit();
// quando pego o ida da erro.
//Toast.makeText(getApplication(), item.getIdmes(), 500).show();
}
});
//assim tento receber
textlistview = getActivity().getIntent().getStringExtra("NOMES");
this.mesclick = (TextView) botoes.findViewById(R.id.textViewMesClicado);
this.mesclick.setText(textlistview);Em 6 de janeiro de 2013 15:00, Marcos Reis | .Mobi <marcos.reis@pontomobi.com.br> escreveu:
Cara me corrija se eu estiver errado, mas se este trecho do seu código estiver assim mesmo não irá funcionar nunca:public class Botoes extends Fragment {
private TextView mesclick;
private String textlistview = null;
//recebedo putextras o valor do text view
textlistview = getActivity().getIntent().getStringExtra("NOMES");
this.mesclick = (TextView) botoes.findViewById(R.id.textViewMesClicado);
this.mesclick.setText("textlistview");Repare que o seu mesclick.setText você está passando o nome do atributo em forma de string "textListView" você deveria passar:this.mesclick.setText(textListView);Acredito que dessa forma iria funcionar.Qualquer coisa é só falar.Abraços.--Cordialmente,Marcos ReisAnalista de Sistemas / AndroidPontomobiAny screen,Anywhere™São Paulo | Rio | BH | Recife | London
On 06/01/2013, at 12:06, Felippe dos Santos Ferreira <felippenasuacasa@gmail.com> wrote:public class Botoes extends Fragment {
private TextView mesclick;
private String textlistview = null;
//recebedo putextras o valor do text view
textlistview = getActivity().getIntent().getStringExtra("NOMES");
this.mesclick = (TextView) botoes.findViewById(R.id.textViewMesClicado);
this.mesclick.setText("textlistview");--
--
--
--
--






0 comentários:
Postar um comentário