2015-09-16 2 views
1
public class Home extends Fragment { 
    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.home,null); 


    }} 

Это весь код вкладки фрагмента 1 .. У меня есть программа с два TabFragments, и я хочу, чтобы объявить изображение кнопку и кнопку умысел на вкладке фрагмента 1 и 2, но я не могу это сделать , и findviewbyid не сработал.Задание кнопки в TabFragment активности?

Что я могу сделать, чтобы объявить кнопки намерения ??

+0

Просто добавьте необходимые представления в файл ресурсов XML, который выглядит как 'res/layout/home.xml'. –

+0

просмотров, как что? –

+0

У меня есть кнопка текстового просмотра и кнопки и изображения, вид карты в моем xml-файле, но я не могу определить их в домашнем java-файле, чтобы сделать намерение для другой страницы? –

ответ

0

Для управления щелчками мыши (и просмотра в целом) используется интерфейс View.OnClickListener. Все, что вам нужно сделать, это переопределить его метод onClick и назначить его для просмотра, вызвав setOnClickListener().

Вы также можете найти подробный учебник here.

UPD: Ваш метод должен выглядеть следующим образом:

public View onCreateView(.....) { 

    // assign inflated view to a variable 
    View v = inflater.inflate(R.layout_services, null); 

    // set your listener 
    v.findViewById(R.id.imageButton).setOnClickListener(.....); 

    // return the view in the end 
    return v; 
} 

Проблема заключается в том, что вы мгновенно возвращая надутый вид и ниже код не будет работать вообще, поэтому есть что ошибка.

UPD2: Теперь проблема заключается в том, что startActivity метод получения Context в качестве первого параметра, так что вы должны передать вашу деятельность там, вызвав getActivity() (вместо передачи Services.this). Вы можете прочитать больше here.

UPD3: Вы, кажется, не понимаете, что делает ваш код. Ваш вызов findViewById бесполезен, потому что он не получает назначение переменной, а ваш setOnClickListener применяется ко всему фрагменту. Вот что эта часть должна выглядеть следующим образом:

ImageButton button = (ImageButton) v.findViewById(R.id.imageButton); 
button.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     Activity activity = getActivity(); 
     Intent intent = new Intent(activity, Admin.class); 
     activity.startActivity(intent); 
    } 
}); 

Я бы рекомендовал, чтобы узнать, как работают все эти методы (по крайней мере, взглянуть на ссылку, чтобы начать с: here и here), прежде чем пытаться на самом деле написать заявление. Удачи вам.

+0

http: // i59. tinypic.com/1zcq1xk.png –

+0

Вы видите это изображение и рассказываете, где ошибка –

+0

http://i58.tinypic.com/xc2lir.png, http://i59.tinypic.com/2f0g3tu.png, –

Смежные вопросы