나는 모든 검색을 다 써 버렸다. 본질적으로 내가 달성하고자하는 것은 내 FragmentActivity에서 ListFragment로 문자열을 전달하는 것이다. 다음은 내 코드입니다 :FragmentActivity에서 ListFragment로 문자열 전달하기
MyActivity.java
package com.application.smst.smstapp;
import android.app.ActionBar;
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.app.ProgressDialog;
import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.text.util.Linkify;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.support.v4.widget.SwipeRefreshLayout;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import com.application.smst.smstapp.adapter.TabsPagerAdapter;
public class MyActivity extends FragmentActivity implements ActionBar.TabListener {
private ViewPager viewPager;
private ActionBar actionBar;
// Tab titles
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
// Initilization
String[] tabs = { "LOA", "OT", "My "+getIntent().getExtras().getString("result_mover") };
////////////////////////////////////////////////////
String message = getIntent().getExtras().getString("result_mover");
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
////////////////////////////////////////////////////
viewPager = (ViewPager) findViewById(R.id.pager);
actionBar = getActionBar();
TabsPagerAdapter mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(mAdapter);
actionBar.setHomeButtonEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Adding Tabs
for (String tab_name : tabs) {
actionBar.addTab(actionBar.newTab().setText(tab_name)
.setTabListener(this));
}
/**
* on swiping the viewpager make respective tab selected
* */
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// on changing the page
// make respected tab selected
actionBar.setSelectedNavigationItem(position);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
// on tab selected
// show respected fragment view
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
}
내가 전달하는 데 노력하고있어 변수는 데이터가 성공적으로 다른 활동에서 전달 된 메시지 문자열
String message = getIntent().getExtras().getString("result_mover");
입니다. 하지만 지금은 위의 조각 활동에 포함 된 세 개의 탭 (조각) 중 하나 인 내 목록 조각으로 가져와야합니다. 이것에 어떤 도움을 크게 주시면 감사하겠습니다
package com.application.smst.smstapp;
import java.util.ArrayList;
import java.util.List;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
/**
* Created by Admin on 10/5/2014.
*/
public class schfragment extends ListFragment {
String[] menuweekday;
String[] menudate;
String[] menustart;
String[] menuend;
CustomAdapter adapter;
private List<RowItem> rowItems;
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle savedInstanceState){
////////////////////////////////////////
return inflater.inflate(R.layout.fragment_sch, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
menuweekday = getResources().getStringArray(R.array.weekdays);
menudate = getResources().getStringArray(R.array.dates);
menustart = getResources().getStringArray(R.array.starts);
menuend = getResources().getStringArray(R.array.ends);
rowItems = new ArrayList<RowItem>();
for (int i = 0; i< menuweekday.length;i++){
RowItem items = new RowItem(menuweekday[i],menudate[i],menustart[i],menuend[i]);
rowItems.add(items);
}
adapter = new CustomAdapter(getActivity(),rowItems);
setListAdapter(adapter);
}
}
schfragment.java : 아래 listfragment 코드입니다.
번들을 사용하여 시도한 결과 NPE가 발생했습니다. 코드를 정확히 어디에 넣을 지 모릅니다.
감사합니다. 내 tabspager 어댑터를 게시해야하는지 알려주십시오.