1
我有一个片段onClick事件的一些问题。 我做选项卡的导航ActionBar中,并用TabListener碎片改变。 这工作正常。onClick事件片段
我的问题是,“”正常“” OnClickListener(见下文)不起作用。 我已经尝试了很多不同的things.Here的是当前的状态:
package com.artifact.actionbarfragments;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
public class ActionBarFragmentsActivity extends Activity {
/** Called when the activity is first created. */
public OnClickListener listener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// lädt die ActionBar
ActionBar actionbar = getActionBar();
// ActionBar.LayoutParams(0);
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionbar.setDisplayShowHomeEnabled(false);
actionbar.setDisplayShowTitleEnabled(false);
actionbar.setDisplayShowCustomEnabled(false);
// actionbar.setCustomView(R.layout.actionbarview);
// lädt die Tabs in die Actionbar und setzt ''eigene'' Icons
ActionBar.Tab TabA = actionbar.newTab().setIcon(R.drawable.ic_action_view_as_list);
ActionBar.Tab TabB = actionbar.newTab().setIcon(R.drawable.ic_action_directions);
ActionBar.Tab TabC = actionbar.newTab().setIcon(R.drawable.ic_action_group);
ActionBar.Tab TabD = actionbar.newTab().setIcon(R.drawable.ic_action_person);
// erstellt neue Fragmente
Fragment fragmentA = new fragmentA();
Fragment fragmentB = new fragmentB();
Fragment fragmentC = new fragmentC();
Fragment fragmentD = new fragmentD();
// Listener werden angelegt
TabA.setTabListener(new MyTabsListener(fragmentA));
TabB.setTabListener(new MyTabsListener(fragmentB));
TabC.setTabListener(new MyTabsListener(fragmentC));
TabD.setTabListener(new MyTabsListener(fragmentD));
// Tabs werden in die actionbar geladen
actionbar.addTab(TabA);
actionbar.addTab(TabB);
actionbar.addTab(TabC);
actionbar.addTab(TabD);
}
}
class NotfallButtonListener extends Activity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.id.fragment_container);
final Button notfallbtn = (Button) findViewById(R.id.notfallbtn);
notfallbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
notfallbtn.setText("Notfall ausgelöst");
System.out.println("Notfall Botton gedrückt");
}
});
}
}
若以上的处理没有工作,我尝试保持的onClick类的片段:
public class fragmentA extends Fragment
implements View.OnClickListener
{
Button notfallbtn;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// das Layout fuer dieses Fragment laden
return inflater.inflate(R.layout.fragmenta, container, false);
// Button notfallbtn = (Button) findViewById(R.id.notfallbtn);
// notfallbtn.setOnClickListener(this);
}
@Override
public void onClick(View view) {
class NotfallButtonListener extends Activity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.id.fragment_container);
final Button notfallbtn = (Button) findViewById(R.id.notfallbtn);
notfallbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
notfallbtn.setText("Notfall ausgelöst");
System.out.println("Notfall Botton gedrückt");
}
});
}
}
}
}
任何帮助将不胜感激!非常感谢!
太棒了!谢谢,这是有效的。一个小问题。 我如何改变例如一个TextView(id textview)。 '...情况下R.id.notfallbtn: textView.setText( “按下按钮”)' – johnbob
@johnbob在onCreateView初始化的TextView就像按钮。但是在'onCreateView'上面声明textview。然后在按钮上点击设置文本到textview – Raghunandan
ok初始化textview:'TextView textView =(TextView)view.findViewById(R.id.textView);'Donent't了解2.部分:/ Sry – johnbob