Tecnologia do Blogger.
RSS

[androidbrasil-dev] Como pegar conteúdo de um TextView que está em um Fragment

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)




Diogo Henrique
(83)87344178
Rede Sociais: 




--
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.
 
 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário