탭으로 응용 프로그램을 만들고 싶습니다. 내 애플리케이션에는 각 탭에 몇 개의 버튼이있는 3 개의 탭이 있습니다. 그리고 세 조각이 있습니다. 각 탭의 버튼을 누르면 일반 TextView에 텍스트를 표시하고 싶습니다. 내 탭이 정상적으로 작동합니다. 하지만 세 가지 문제가 있습니다. 1. 모든 탭 (아마도 탭 바깥 쪽)에 대한 일반 TextView를 제공하는 방법 2. 내 버튼 메서드가 작동하지 않습니다. 3. cutom 언어 글꼴을 표시하려고하면 오류가 발생합니다. "메서드 getAssets (가) 다음 유형 FragmentA "작업 표시 줄 탭 외부에 TextView를 추가하는 방법
에 대한 정의되지 않는다 나의 주요 활동
public class MLkeyboardActivity extends Activity {
/** Called when the activity is first created. */
//public static TextView textView1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mlkeyboard);
final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Tab tabA = actionBar.newTab();
tabA.setText("Tab A");
tabA.setTabListener(new TabListener<FragmentA>(this, "Tag A", FragmentA.class));
tabA.setIcon(R.drawable.ic_launcher);
actionBar.addTab(tabA);
Tab tabB = actionBar.newTab();
tabB.setText("Tab B");
tabB.setTabListener(new TabListener<FragmentB>(this, "Tag B", FragmentB.class));
actionBar.addTab(tabB);
Tab tabC = actionBar.newTab();
tabC.setText("Tab C");
tabC.setTabListener(new TabListener<FragmentC>(this, "Tag C", FragmentC.class));
actionBar.addTab(tabC);
if (savedInstanceState != null) {
int savedIndex = savedInstanceState.getInt("SAVED_INDEX");
getActionBar().setSelectedNavigationItem(savedIndex);
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
outState.putInt("SAVED_INDEX", getActionBar().getSelectedNavigationIndex());
}
public static class TabListener<T extends Fragment>
implements ActionBar.TabListener{
private final Activity myActivity;
private final String myTag;
private final Class<T> myClass;
public TabListener(Activity activity, String tag, Class<T> cls) {
myActivity = activity;
myTag = tag;
myClass = cls;
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
Fragment myFragment = myActivity.getFragmentManager().findFragmentByTag(myTag);
// Check if the fragment is already initialized
if (myFragment == null) {
// If not, instantiate and add it to the activity
myFragment = Fragment.instantiate(myActivity, myClass.getName());
ft.add(android.R.id.content, myFragment, myTag);
} else {
// If it exists, simply attach it in order to show it
ft.attach(myFragment);
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
Fragment myFragment = myActivity.getFragmentManager().findFragmentByTag(myTag);
if (myFragment != null) {
// Detach the fragment, because another one is being attached
ft.detach(myFragment);
}
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}}
이며,이 조각
public class FragmentA extends Fragment {
public static TextView textView1;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View myFragmentView = inflater.inflate(R.layout.fragment_a, container, false);
return myFragmentView;
}
public void button1(View view) {
TextView tv = (TextView) getActivity().findViewById(R.id.textView1);
Typeface typeFace = Typeface.createFromAsset(getAssets(),"fonts/AnjaliOldLipi.ttf");
tv.setTypeface(typeFace);
tv.setText("അ");
}}
나는 매우보다 것 중 하나 내 코드입니다 어떤 도움이 필요해.
왜 누군가 내 질문에 투표를 했습니까? 정보가 명확하지 않았습니까? 정말 도움이 필요해. – user1995307
모든 투표 업에 감사드립니다. 나는 아무 대답도 얻지 못했지만. – user1995307