2017-07-24 59 views
-3

我的項目有三個選項卡。
我想從一個選項卡中打開一個新的活動如何從選項卡中打開新的活動?

我的Java當前選項卡的活動

package com.example.muhsin.tabstes; 

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

/** 
* Created by muhsin on 22/07/17. 
*/ 
public class Tab2Feeds extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.tab2feed, container, false); 

     return rootView; 
    } 
} 

佈局:

<Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="open new" 
     android:id="@+id/button1" 
     android:layout_below="@+id/section_label" 
     android:layout_alignParentEnd="true" 
     android:layout_marginEnd="204dp" 
     android:layout_marginTop="112dp" /> 

然後,我創建了一個名爲姿態的活動

一個新的空活動
package com.example.muhsin.tabstes; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

public class ProfileActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_profile); 
    } 
} 

如何從Tab2Feed s到ProfileActivity?

+0

你想要標籤本身打開一個新的活動?或者片段上的按鈕打開新的活動? –

+0

點擊該按鈕打開新的活動(新活動內沒有標籤) – Muhsin

+0

您當前的標籤活動不是活動的片段還是該片段是您的標籤?如果是這樣,只需將點擊偵聽器添加到按鈕和調用活動。 – Spartan

回答

0

在您的Tab2Feeds Fragment中,通過調用finViewById來獲取對按鈕的引用。 從那裏設置一個clicklistener與setOnClickListener

最後使用Intent來打開新的活動。 你需要它是通過調用getActivity()

Button button = (Button) rootView.findViewById(R.id.button1); 
    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent intent = new Intent(getActivity(), ProfileActivity.class); 
      getActivity().startActivity(intent); 
     } 
    }); 

一個文件的頂部得到一個Context,不要忘記你的進口

import android.widget.Button; 
import android.content.Intent; 
+0

其給出的錯誤就像無法解析符號'按鈕',無法解析符號findviewbyid(int)請檢查截圖http://i.imgur .com/hRUlSJY.png – Muhsin

+0

對不起,我忘了它的一個片段,你可能需要'rootView.findViewById' – Eoin

+0

http://i.imgur.com/HTT6ilt.png – Muhsin

1

要從片段開始的活動:

把你的代碼onCreateView方法或onViewCreated方法:

Button button = (Button) rootView.findViewById(R.id.button1); 
     button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (getActivity() != null) { // check if activity not null 
        Intent intent = new Intent(getActivity(), ProfileActivity.class); 
        getActivity().startActivity(intent); 
       } 
      } 
     }); 
+0

請檢查圖片http://i.imgur.com/HTT6ilt.png – Muhsin

+0

是導入這些。在意圖按ALT + Enter並選擇意圖 –

+0

好的,謝謝你的時間 – Muhsin

相關問題