【发布时间】:2014-07-13 08:29:56
【问题描述】:
我正在实现可滑动的选项卡。我有 3 个选项卡。在最后一个选项卡中有 4 个按钮,单击它们将启动另一个片段活动。但是当我单击第二个选项卡中的可用空间时,会触发相同的 onclick。请帮助我这个问题。
这是我的完整项目链接https://drive.google.com/file/d/0B3znk-VNWY6RUHVvdDBpNWlmN3M
AlbumsFragment
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
public class AlbumsFragment extends Fragment implements OnClickListener {
View view;
Button albums,songs,artists,playlist;
Activity thisActivity;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
view=inflater.inflate(R.layout.fragment_albums, container,false);
thisActivity=getActivity();
albums=(Button) view.findViewById(R.id.btn_albums);
songs=(Button) view.findViewById(R.id.btn_allsongs);
artists=(Button) view.findViewById(R.id.btn_artists);
playlist=(Button) view.findViewById(R.id.btn_playlist);
albums.setOnClickListener(AlbumsFragment.this);
songs.setOnClickListener(AlbumsFragment.this);
artists.setOnClickListener(AlbumsFragment.this);
playlist.setOnClickListener(AlbumsFragment.this);
return view;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.btn_albums:
Toast.makeText(thisActivity, "in", 100).show();
Intent i=new Intent(thisActivity,PlayList.class);
thisActivity.startActivity(i);
thisActivity.overridePendingTransition(R.anim.flip_left_to_right, R.anim.flip_right_to_left);
break;
default:
break;
}
}
}
这个 onclicklistener 在相邻片段中被触发。
RecorderFragment
package com.krazzyplayer;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.SearchManager;
import android.content.ComponentName;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.SearchView;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
public class RecordFragment extends Fragment {
View view;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view=inflater.inflate(R.layout.fragment_audio_recorder, container, false);
return view;
}
}
【问题讨论】:
-
你描述的不可能。发布您的“相邻”
Fragment的代码。 -
看到这个东西我也被吓到了,请给点建议
-
这看起来不可能。尝试为您的资源元素提供不同的 id(尽管这无关紧要,我会先尝试)
-
我正在维护不同的 ID
-
发布你的碎片布局。
标签: android android-fragments android-tabs