IDEがmfragmentを認識できません。 getFragmentManager()をgetSupportFragmentManager()に変更しようとしました。それはIDEによってサポートされていませんでしたIDEがmfragment変数を認識しません。 getFragmentManager()をgetSupportFragmentManager()に変更しようとしました
package com.example.simerpreetjassal.bitsandpizzas2;
import android.app.Activity;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.ShareActionProvider;
public class MainActivity extends Activity {
private ShareActionProvider mShareActionProvider;
private String[] titles;
private ListView drawerList;
private class DrawerItemClickListener implements ListView.OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
selectItem(position);
}
}
private void selectItem(int position) {
Fragment mfragment;
switch (position) {
case 1:
mfragment = new PizzaFragment();
break;
case 2:
mfragment = new pastaFragment();
break;
case 3:
mfragment = new pastaFragment();
break;
default:
mfragment = new TopFragment();
break;
}
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, mfragment);
ft.addToBackStack(null);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
titles = getResources().getStringArray(R.array.titles);
drawerList = (ListView) findViewById(R.id.drawer);
drawerList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_activated_1, titles));
drawerList.setOnItemClickListener(new DrawerItemClickListener());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
MenuItem menuItem =menu.findItem(R.id.action_share);
mShareActionProvider=(ShareActionProvider) menuItem.getActionProvider();
setIntent("This is example text");
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()){
case R.id.action_create_order:
Intent intent=new Intent(this,orderActivity.class);
startActivity(intent);
return true;
case R.id.action_setttings:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private void setIntent(String text) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, text);
mShareActionProvider.setShareIntent(intent);
}
}
IDEはmfragment varibleを認識しません。 getFragmentManager()をgetSupportFragmentManager()に変更しようとしました。それはあなたがDrawerClickListener
をキャストすることはできませんので、これはClassCastException
につながるView.OnClickListener
する(ListView.OnItemClickListener
を実装している)だIDE
を初期化していない - それは、任意のダイアログが表示されません。 LogCatビュー –