2017-06-12 92 views
0
package com.darkweb.android.amityaaroh.HomeActivity; 

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.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.Toast; 

import com.darkweb.android.amityaaroh.R; 

public class events extends Fragment { 

ListView listView; 

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

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

    initializeListView(); 
} 




private void initializeListView() { 

    listView = (ListView)getView().findViewById(R.id.listview); 

    final String[] items = {"One", "Two", "Three", "Four", "Five", "Six", "Seven"}; 

    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity(), R.layout.list_item, R.id.textView2, items); 

    listView.setAdapter(arrayAdapter); 

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

      String item = items[position]; 

      Toast.makeText(events.this.getActivity(), item+" is clicked", Toast.LENGTH_LONG).show(); 
     } 
    }); 
} 
} 

错误:我们可以把片段与appcomactivity 错误:(29,9)错误:无法找到符号方法的setContentView(int)的 错误:执行失败的任务 ':应用程序:compileDebugJavaWithJavac'。Android的碎片与Appcompactivity

Compilation failed; see the compiler error output for details.

+1

删除onCreate() – Akash

+0

中的setContentView方法在事件活动时应用程序未运行!如果我删除setcontentview –

+0

删除创建方法并调用你的initializeListView();方法在OnResume方法 – ashish

回答

0

移动和改变该

的ListView =(ListView中)getView()findViewById(R.id.listview)。

到onCreateView()

listView = rootView.findViewById(R.id.listview); 

删除onCreate()方法

+0

didnt做这个替代 –

0

使用此代码chnage的getview到getActivity(),您可以直接调用方法onCreateView

public class event extends Fragment { 
    ListView listView; 

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

     } 

     private void initializeListView() { 

      listView = (ListView)getActivity().findViewById(R.id.listview); 

      final String[] items = {"One", "Two", "Three", "Four", "Five", "Six", "Seven"}; 


      ArrayAdapter<String> arrayAdapter= new ArrayAdapter<String> (getActivity(), android.R.layout.simple_list_item_1, items); 
      listView.setAdapter(arrayAdapter); 

      listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

        String item = items[position]; 

        Toast.makeText(events.this.getActivity(), item+" is clicked", Toast.LENGTH_LONG).show(); 
       } 
      }); 
     } 
    } 


} 
+0

应用程序的工作是强制关闭停止 –

+0

我改变代码退房现在 –

+0

eError:(36,48)错误:发现ArrayAdapter(事件,INT的String []) 构造ArrayAdapter.ArrayAdapter没有合适的构造(Context,int,int)不适用 (参数不匹配;事件不能转换为上下文) 构造函数ArrayAdapter.ArrayAdapter(Context,int,String [])不适用 (参数不匹配;事件不能转换为上下文) 构造函数ArrayAdapter.ArrayAdapter(Context,int,List )不适用 (参数不匹配;事件不能转换为上下文) –