2016-01-22 38 views
0

我想setAdapter(稱爲適配器)到DemandFragment中的另一個ListView,那個DemandFragment中的ListView被稱爲lv。如何在另一個片段中使用setAdapter作爲ListView?

如何將FinishPostFragment中的適配器設置爲DemandFragment中的ListView(callend lv)?

FinishPostFragment:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.add_post_finish: 
      // User chose the "Favorite" action, mark the current item 
      // as a favorite... 
      FragmentManager fm = getActivity().getFragmentManager(); 

      // put strings to listview in DemandFragment 
      ParseObject post = new ParseObject("Posts"); 

      post.put("airport", airport_finish.getText().toString()); 
      post.put("date", date_finish.getText().toString()); 
      post.put("time", time_finish.getText().toString()); 
      post.put("persons", persons_finish.getText().toString()); 
      post.put("address", address_finish.getText().toString()); 
      post.put("flightnr", flightnr_finish.getText().toString()); 

      post.saveInBackground(new SaveCallback() { 
       @Override 
       public void done(ParseException e) { 
        airport_finish.setText(""); 
        date_finish.setText(""); 
        time_finish.setText(""); 
        persons_finish.setText(""); 
        address_finish.setText(""); 
        flightnr_finish.setText(""); 

        ParseQuery<ParseObject> query = ParseQuery.getQuery("Posts"); 
        query.whereEqualTo("playerName", "Dan Stemkoski"); 
        query.findInBackground(new FindCallback<ParseObject>() { 
         public void done(List<ParseObject> scoreList, ParseException e) { 
          if (e == null) { 
           ArrayList arraypost = new ArrayList<String>(); 

           for (ParseObject j : scoreList) { 

            arraypost.add(j.getString("airport")); 
            arraypost.add(j.getString("date")); 
            arraypost.add(j.getString("time")); 
            arraypost.add(j.getString("persons")); 
            arraypost.add(j.getString("address")); 
            arraypost.add(j.getString("flightnr")); 
           } 

           ArrayAdapter adapter = new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_1, arraypost); 

           Log.d("score", "Retrieved " + scoreList.size() + " scores"); 
          } else { 
           Log.d("score", "Error: " + e.getMessage()); 
          } 
         } 
        }); 
       } 
      }); 

        fm.beginTransaction().replace(R.id.content_main, new DemandFragment()).commit(); 
      return true; 

DemandFragment:

public class DemandFragment extends Fragment { 

ListView lv; 

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

    lv = (ListView) rootView.findViewById(R.id.listDemand); 

    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      // clicked on item show post 

     } 
    }); 

    return rootView; 
} 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setHasOptionsMenu(true); 

} 

}

+0

我知道,我必須使用:「nameListview」 .setAdapter(適配器) – Rang92

回答

0

這裏是我最近使用一個SNIPPIT ....

@Override 
public View onCreateView(LayoutInflater inflater, final ViewGroup container, 
         Bundle savedInstanceState) { 
    // Inflate the layout for this fragment 
    View view = inflater.inflate(R.layout.fragment_game_history, container, false); 
    if(view != null){ 
     //Init views 
     yourList = new ArrayList<>(); 
     lv= (ListView) view.findViewById(R.id.list_Games); 
     adapter = new YourAdapter(getContext(), yourList) 
     lv.setAdapter(adapter); 
      lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     // clicked on item show post 

    } 
}); 

} 
return view; 
} 

托架可以是一個小點呃,我試着從頭頂開始做這件事。讓我知道這個是否奏效!

+0

但是,部分通話/獲取另一個片段的適配器???? – Rang92

+0

爲什麼不將數組信息傳遞給其他片段,然後在那裏創建適配器?我不明白爲什麼要在不使用它的地方創建適配器? – drew

+0

奧克聽起來很聰明。你能否在代碼中解釋..根據我上面的代碼。 – Rang92

相關問題