Я создал проект в Android Studio с помощью Activity Drawer Activity, и я его успешно создал, Навигационный ящик я создал 3 раздела. В 1-ом разделе я поставил Button и хочу установить методOnClickListener на этой кнопке, которая привела начать новую активность (напр., «xyz.class») Я использовал кодОткрытая активность при нажатии кнопки в NavigationDrawer
startActivity(new Intent(this,xyz.class));
, но «это» ключевое слово не работает и дает мне ошибку. Итак, я изменил код как
Context c; startActivity(new Intent(c,xyz.class));
который дает NullPointerException,
Мой Раздел1 код
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.widget.DrawerLayout;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;
import com.example.pratik.crm50.R;
import com.gc.materialdesign.views.ButtonFloat;
public class Dashboard extends Fragment implements View.OnClickListener {
View rootView;
Context c;
private ButtonFloat float_btn;
private Button but;
private Button btn;
Context c;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
View v;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
v = inflater.inflate(R.layout.dashboard_layout,container, false);
} else {
v = super.onCreateView(inflater,container, savedInstanceState);
}
View vv=v.findViewById(R.id.button_simple);
vv.setOnClickListener(this);
return v;
}
@Override
public void onClick(View v) {
// Toast.makeText(c,"Float Button",Toast.LENGTH_SHORT).show();
Log.e("ssas","sasafa");
//startActivity(new Intent(c,xyz.class));
}
}
и я могу получить успешно войти Log.e("ssas","sasafa")
на приведенный выше код , Итак, как это сделать?
Зачем определять контекст c два раза? –
use new Intent (getActivity(), xyz.class) –