-1

我在導航菜單itemClick中使用了它,但它顯示上面的錯誤。我應該怎麼做才能刪除它?錯誤的第二個參數類型。發現:'com.sagar.kugeclass.NotificationActivity',必需:'android.support.v4.app.Fragment'

if (id == R.id.item_alarm){ 
      FragmentManager manager = getSupportFragmentManager(); 
      manager.beginTransaction().replace(R.id.fragment_container, new NotificationActivity()).commit(); 
/*Wrong 2nd argument type. Found: 'com.sagar.kugeclass.NotificationActivity', required: 'android.support.v4.app.Fragment' 

,這是我NotificationActivity,我要的是點擊抽屜式導航欄菜單項時顯示:

import android.app.Activity; 
import android.app.NotificationManager; 
import android.app.PendingIntent; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Build; 
import android.os.Bundle; 
import android.support.annotation.Nullable; 
import android.support.design.widget.FloatingActionButton; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.NotificationCompat; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.LinearLayoutManager; 
import android.support.v7.widget.RecyclerView; 
import android.support.v7.widget.Toolbar; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Button; 

import com.sagar.adapters.RecyclerAdapter; 
import com.sagar.models.CardItemModel; 

import java.util.ArrayList; 
import java.util.List; 


/** 
* A simple {@link Fragment} subclass. 
*/ 
public class NotificationActivity extends AppCompatActivity implements View.OnClickListener { 
    private Button alarmButton; 
    private Context context; 


    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.notification_activity_layout); 
     alarmButton = (Button) findViewById(R.id.alarmButton); 
     alarmButton.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View view){ 
     NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
     Intent repeating_intent = new Intent(context,Repeating_activity.class); 
     repeating_intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

     PendingIntent pendingIntent = PendingIntent.getActivity(context,100,repeating_intent, PendingIntent.FLAG_UPDATE_CURRENT); 
     NotificationCompat.Builder builder = (NotificationCompat.Builder) new NotificationCompat.Builder(context) 
       .setContentIntent(pendingIntent) 
       .setSmallIcon(android.R.drawable.arrow_up_float) 
       .setContentTitle("Title") 
       .setContentText("Content") 
       .setAutoCancel(true); 
     notificationManager.notify(100,builder.build()); 


    } 





} 

回答

0

你正在一個Fragment交易,但與ActivityNotificationActivity)取代。如果您想首先使用Fragments,請爲NotificationActivity創建一個片段,並將Activity中的代碼轉換爲Fragment

+0

我試過這個「Intent intent = new Intent(MainActivity.this,NotificationActivity.class); startActivity(intent);」但它不起作用。 –

+0

使用'''startActivity(Intent)'''時是否有任何錯誤?在AndroidManifest.xml中是否正確聲明瞭NotificationActivity? – ahasbini

+0

@DineshNeupane:但是,這是爲了開始新的活動。我正在討論在片段事務中使用活動而不是片段。將其更改爲片段。 –

相關問題