【发布时间】:2015-03-30 09:52:24
【问题描述】:
我现在有一个包含片段的活动
[1] , [2] , [3] , [4]
启动应用程序时 [1] 和 [2] 一次运行。
当滑动到 [2] 时运行 [3] 并滑动到 [3] 时运行 [4]。
任何人都可以帮助解决这个问题。
我想要 [1] 中的 [1]、[2] 中的 [2] 和 [3] 中的 [3]、[4] 中的 [4] 在标签滑动时的功能。
在我的代码下方 片段 [1]:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.meaningview, container, false);
word = (EditText) view.findViewById(R.id.word);
data = (WebView) view.findViewById(R.id.web);
if(first == 1)
{
try {
dbHelper = new SqlLiteDbHelper(getActivity());
dbHelper.CopyDataBaseFromAsset();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
first++;
}
find.setOnClickListener(new OnClickListener() {
@SuppressWarnings("static-access")
@SuppressLint({ "NewApi", "DefaultLocale" })
@Override
public void onClick(View v) {
url2 = word.getText().toString().toLowerCase();
urlword = url2;
InputMethodManager inputManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
if(url2.isEmpty())
{
Toast.makeText(getActivity(), "Word is missing! ", Toast.LENGTH_LONG).show();
}
else
{
try{
urdu = dbHelper.getDetail(word.getText().toString());
urdu_meaning.setText(urdu.Meaning.toString());
}catch(Exception e){
e.printStackTrace();
urdu_meaning.setText("Urdu word not found");
}
if (mWifi.isConnected())
{
data.loadUrl(url1 + url2);
}
else
{
Toast.makeText(getActivity(), "Network Problem", Toast.LENGTH_LONG).show();
//wifiManager.setWifiEnabled(true);
}
}
}
});
return view;
}
片段 [2]
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.image, container, false);
imageView = (ImageView) view.findViewById(R.id.ImageView);
imageURL1 = imageURL + MeaningFragment.urlword + ".jpg";
// Execute the task
GetXMLTask task = new GetXMLTask();
task.execute(imageURL1);
return view;
}
片段[3]
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.audio, container, false);
audioURL2 = MeaningFragment.urlword + ".mp3";
try{
if (isPlayed) { // if media player had played, this function is called
start();
}else {
try {
//pDialog.show();
mPlayer =new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setDataSource(audioURL+audioURL2);
ac = new MediaController(getActivity());
ac.setAnchorView(view.findViewById(R.id.reference));
ac.setMediaPlayer(AudioFragment.this);
mPlayer.setOnCompletionListener(AudioFragment.this);
mPlayer.setOnPreparedListener(AudioFragment.this);
} catch (IOException e) {
//e.printStackTrace();
Toast.makeText(getActivity(), "Audio URL Not Found! ", Toast.LENGTH_LONG).show();
}
try {
mPlayer.prepare();
mPlayer.start();
}
catch (Exception e)
{
e.printStackTrace();
//urdu_meaning.setText("Audio Not Found");
Toast.makeText(getActivity(), "Audio not Found!", Toast.LENGTH_LONG).show();
}
}
}
和 Fragment [4] 使用相同的方法
【问题讨论】:
-
如何在 ViewPager 中添加片段?
-
在 MainActivity 和 vIEWPAGEADAPTER CALSS 中添加片段
标签: android android-fragments android-actionbar