2016-03-05 2 views
-1

я хочу, чтобы добавить страницу в мое приложение и содержит кнопку , но его лицом этой ошибкиОшибка при помощи кнопки findViewById()

/src/com/me/my/bk/BkFragment.java:57: error: cannot find symbol 
     button = (Button) findViewById(R.id.button); 

сначала это было 9 ошибок я решил их, и теперь у меня есть это ошибка здесь - мой код:

package com.me.my.bk; 

import com.me.my.R; 
import android.app.Fragment; 
import android.os.Bundle; 
import android.text.Html; 
import android.text.method.LinkMovementMethod; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.TextView; 
import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.Toast; 
import java.io.IOException; 

public class BkFragment extends Fragment { 
    public static final String TAG = BkFragment.class.getSimpleName(); 

    public static BkFragment newInstance() { 
     return new BkFragment(); 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.fragment_bk, container, false); 
    } 

    private Button button; 

    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     button = (Button) findViewById(R.id.button); 
     button.setOnClickListener(new OnClickListener() { 
      @SuppressLint("SdCardPath") 
      @Override 
      public void onClick(View arg0) { 
       Process p=null; 
       try { 
        p = new ProcessBuilder() 
        .command("/sdcard/test.sh") 
        .start(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } finally { 
        if(p!=null) p.destroy(); 
       } 
      } 
     }); 
    } 
} 

любое решение для этой ошибки im сталкивается? заранее спасибо

+0

Если какой-либо ответ поможет вам, вы должны принять ответ, http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work. ;) Я вижу, что другие вопросы, которые вы сделали, вы не принимаете никакого ответа, и, может быть, вы новичок здесь – JMR

ответ

0

Ok. Этот код должен работать.

private Button button;   
@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
    Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fragment_bk, container, false); 
    setViewRefs(view); 
    return view; 
} 


private void setViewRefs(View view){ 
    button = (Button)view.findViewById(R.id.button); 

    } 
+1

, это точное решение спасибо за вашу помощь :))) –

0

Вы должны сделать все, на onCreateView не в OnCreate

View a = inflater.inflate(R.layout.fragment_bk, container, false); 

listView = (ListView) a.findViewById(R.id.button); 
+0

сейчас я получаю это/home/nikan/DualBootPatcher/Android_GUI/src/com/github/chenxiaolong/dualbootpatcher/bk /BkFragment.java:57: ошибка: не удается найти символ setContentView (R.layout.fragment_bk); –

+0

Я редактирую свой ответ, потому что не вижу, что это фрагмент – JMR