我正在尝试在android studio
制作一个电影应用,但我得到了这个错误,我不明白为什么它不能inflate
framgment_main
我认为。
以下是主要活动
package com.example.yaseen.movieapp2;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
MovieFragment
> package com.example.yaseen.movieapp2;
> import android.content.Context;
> import android.net.ConnectivityManager;
> import android.net.NetworkInfo;
> import android.os.AsyncTask;
> import android.os.Bundle;
> import android.support.v4.app.Fragment;
> import android.view.LayoutInflater;
> import android.view.View;
> import android.view.ViewGroup;
> import android.widget.AdapterView;
> import android.widget.GridView;
> import android.widget.RelativeLayout;
> import android.widget.TextView;
> import java.util.ArrayList;
> import java.util.Arrays;
> public class MoviesFragment extends Fragment {
> static GridView gridview ;
> static ArrayList<String> posters ;
> static boolean sortByPop ;
>
> public MoviesFragment() {}
>
>
>
> @Override
> public View onCreateView(LayoutInflater inflater, ViewGroup container,
> Bundle savedInstanceState) {
>
>
>
> if (getActivity() != null)
> {
> ArrayList<String> array = new ArrayList<String>();
> ImageAdapter adapter = new ImageAdapter(getActivity() , array);
> gridview = (GridView)container.findViewById(R.id.gridview);
> gridview.setAdapter(adapter);
>
> }
> gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
> @Override
> public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
> System.out.println(position);
> }
> });
>
>
> return inflater.inflate(R.layout.fragment_main, container, false);
>
>
>
> }
> @Override
> public void onStart()
> {
> gridview.setVisibility(GridView.VISIBLE);
> super.onStart();
>
> getActivity().setTitle("Most Popular Movies");
>
> if(isNetworkAvailable())
> {
> new ImageLoadTask().execute();
> }
> else
> {
> TextView textView1 = new TextView(getActivity());
> RelativeLayout layout1 = (RelativeLayout)getActivity().findViewById(R.id.relativelayout);
> textView1.setText("you are not connected to the internet");
> if (layout1.getChildCount() == 1)
> {
> layout1.addView(textView1);
> }
> gridview.setVisibility(GridView.GONE);
> }
>
> }
>
> public boolean isNetworkAvailable()
> {
> ConnectivityManager connectivityManager = (ConnectivityManager)getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
> NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
> return activeNetworkInfo != null && activeNetworkInfo.isConnected();
> }
>
>
> public class ImageLoadTask extends AsyncTask<Void ,Void , ArrayList<String>>
> {
>
> @Override
> protected ArrayList<String> doInBackground(Void... params) {
> while (true)
> {
> try {
> posters = new ArrayList(Arrays.asList(getPathsFromAPI(sortByPop)));
> return posters ;
> }
>
> catch (Exception e)
> {
> continue;
> }
> }
>
> }
>
> @Override
> protected void onPostExecute(ArrayList<String> result)
> {
> if (result != null && getActivity() != null)
> {
> ImageAdapter adapter = new ImageAdapter(getActivity() , result );
> }
>
> }
>
> public String[] getPathsFromAPI (boolean sort)
> {
> String[] array = new String[15];
> for (int i=0 ; i < array.length ; i++)
> {
> array[i] = "/kqjL17yufvn9OVLyXYpvtyrFfak.jpg";
> }
> return array;
> }
> }
> }
fragment_main布局:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:showIn="@layout/activity_main"
tools:context=".MainActivityFragment"
android:id="@+id/relativelayout"
>
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="0dp"
android:verticalSpacing="0dp"
android:horizontalSpacing="0dp"
android:numColumns="auto_fit"
android:stretchMode="columnWidth">
</GridView>
</RelativeLayout>
content_main: