私には 3 つのタブがあり、それらのすべてにリストが含まれています (もちろん別のものです)。タブをクリックすると、適切な結果が表示されます(取得したい結果)。
クリックされたアイテム情報を取得し、そのアイテムについてデータベースにリクエストを送信し、結果を取得して新しいインテントを作成し、その結果を追加で追加する方法を知っています。しかし、新しいインテントを作成せずに同じフラグメント内に結果を表示する方法がわかりません。新しいインテントを作成して新しいインテントで結果を表示すると、タブが明らかに消えるため、常にそこにある必要があります。
私の主な活動:
public class MainActivity extends SherlockFragmentActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayShowTitleEnabled(true);
Tab tab = actionBar.newTab()
.setText("Dictionary")
.setTabListener(new DictionaryFragment())
.setIcon(R.drawable.android);
actionBar.addTab(tab);
tab = actionBar.newTab()
.setText("Play")
.setTabListener(new PlayFragment())
.setIcon(R.drawable.apple);
actionBar.addTab(tab);
tab = actionBar.newTab()
.setText("Manage")
.setTabListener(new ManageFragment())
.setIcon(R.drawable.apple);
actionBar.addTab(tab);
}
}
私の断片の1つ:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
built_in_DB_setup dbOpenHelper = new built_in_DB_setup(getActivity().getBaseContext(), DB_NAME);
database = dbOpenHelper.openDataBase();
fillFreinds();
ArrayAdapter<String> adapter = new
ArrayAdapter<String>(getActivity().getBaseContext(), android.R.layout.simple_expandable_list_item_1, friends);
setListAdapter(adapter);
return super.onCreateView(inflater, container, savedInstanceState);
}
そして、これがこのクラス内のアイテムクリックリスナーです
public void onListItemClick(ListView l, View v, int position, long id)
{
super.onListItemClick(l, v, position, id);
String a=getData(((TextView) v).getText().toString());
Intent i = new Intent("com.example.fragmenttest.VIEWWORD");
i.putExtra("result", a);
startActivity(i);
}
onListItemClick から取得した文字列を持っているものは、現在のタブデータをこの文字列に置き換えるにはどうすればよいですか?