Olá pessoal, tenho um PagerAdapter, e na sua ActionBar eu coloquei um botão de "Salvar" ai quando o usuário clicasse eu pegaria apenas a informação de um TextView. Mais quando faço...
public boolean onOptionsItemSelected(MenuItem item) {
if (item.toString().equals("Salvar")) {
AguaFragment af = (AguaFragment) getSupportFragmentManager().findFragmentById(R.id.frag_1);
//Log.i("teste", "sera ?" + af.getString(R.id.tv_ml));
//Log.i("teste", "sera ???" + af.getResources().getString(R.id.tv_ml));
//View v = af.getView(); //.findViewById(R.id.tv_ml);
//Log.i("teste", "sera ????" + af.toString());
//Log.i("teste", "sera ????" + tv.getText().toString());
Log.i("teste", "sera ??" + af.getTipo());
}
return true;
}
Da um NullPointer... o af está vindo nulo...
Meu Fragment está assim...
public final class AguaFragment extends Fragment {
private static final String KEY_CONTENT = "TestFragment:Content";
public static AguaFragment newInstance(String content) {
AguaFragment fragment = new AguaFragment();
fragment.mContent = content;
return fragment;
}
private String mContent = "???";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ((savedInstanceState != null) && savedInstanceState.containsKey(KEY_CONTENT)) {
mContent = savedInstanceState.getString(KEY_CONTENT);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.consumir_agua_fragment,container, false);
TextView tv_ml = (TextView) view.findViewById(R.id.tv_ml);
tv_ml.setText(mContent);
return view;
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(KEY_CONTENT, mContent);
}
public String getTipo(){
View view = getView();
if(view != null){
TextView tv = (TextView) view.findViewById(R.id.tv_ml);
return tv.getText().toString();
}
return "não";
}
Minha duvida e... porque está vindo null ? estou usando o PagerIndicador do Jake.
O Log é esse...
01-30 23:45:29.210: E/AndroidRuntime(655): java.lang.NullPointerException
01-30 23:45:29.210: E/AndroidRuntime(655): at br.com.android.noweight.agua.ConsomeAgua.onOptionsItemSelected(ConsomeAgua.java:80)
01-30 23:45:29.210: E/AndroidRuntime(655): at android.support.v4.app._ActionBarSherlockTrojanHorse.onMenuItemSelected(_ActionBarSherlockTrojanHorse.java:119)
01-30 23:45:29.210: E/AndroidRuntime(655): at com.actionbarsherlock.ActionBarSherlock.callbackOptionsItemSelected(ActionBarSherlock.java:600)
01-30 23:45:29.210: E/AndroidRuntime(655): at com.actionbarsherlock.internal.ActionBarSherlockCompat.onMenuItemSelected(ActionBarSherlockCompat.java:533)
01-30 23:45:29.210: E/AndroidRuntime(655): at com.actionbarsherlock.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:738)
01-30 23:45:29.210: E/AndroidRuntime(655): at com.actionbarsherlock.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:148)
01-30 23:45:29.210: E/AndroidRuntime(655): at com.actionbarsherlock.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:879)
01-30 23:45:29.210: E/AndroidRuntime(655): at com.actionbarsherlock.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:510)
01-30 23:45:29.210: E/AndroidRuntime(655): at com.actionbarsherlock.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:145)
01-30 23:45:29.210: E/AndroidRuntime(655): at android.view.View.performClick(View.java:2408)
01-30 23:45:29.210: E/AndroidRuntime(655): at android.view.View$PerformClick.run(View.java:8816)
01-30 23:45:29.210: E/AndroidRuntime(655): at android.os.Handler.handleCallback(Handler.java:587)
01-30 23:45:29.210: E/AndroidRuntime(655): at android.os.Handler.dispatchMessage(Handler.java:92)
01-30 23:45:29.210: E/AndroidRuntime(655): at android.os.Looper.loop(Looper.java:123)
01-30 23:45:29.210: E/AndroidRuntime(655): at android.app.ActivityThread.main(ActivityThread.java:4627)
01-30 23:45:29.210: E/AndroidRuntime(655): at java.lang.reflect.Method.invokeNative(Native Method)
01-30 23:45:29.210: E/AndroidRuntime(655): at java.lang.reflect.Method.invoke(Method.java:521)
01-30 23:45:29.210: E/AndroidRuntime(655): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.






0 comentários:
Postar um comentário