- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的 Activity 中有一个编辑文本,我想检查该编辑文本是否为空 fragment 。谁能告诉我如何从 android 中的 fragment 访问 Activity 中存在的编辑 TextView 组件。我已经这样做了,但没有用。这是我的 Activity :
package com.developer.mainandroid;
import android.widget.EditText;
import com.milan.tabs.pagerslidingstrip.PagerSlidingTabStrip;
import com.milan.validation.lib.RegExpressionValueValidator;
import com.milan.validation.lib.ValidationManager;
import android.app.ActionBar;
import android.app.SearchManager;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.support.v7.widget.SearchView;
import android.text.InputType;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.widget.TextView;
public class Manual extends FragmentActivity {
private final Handler handler = new Handler();
private PagerSlidingTabStrip tabs_sliding_strip;
private ViewPager pager;
private Tests adapter_tests;
TextView welcome_headder;
String welcome_headder_string;
public EditText search_edit_text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.manual);
ActionBar actionbar;
actionbar = getActionBar();
ColorDrawable color_action_bar = new ColorDrawable();
color_action_bar.setColor(Color.parseColor("#673AB7"));
actionbar.setBackgroundDrawable(color_action_bar);
search_edit_text = (EditText)findViewById(R.id.edt_number);
search_edit_text.setInputType(InputType.TYPE_CLASS_NUMBER);
search_edit_text.setGravity(Gravity.CENTER);
search_edit_text.setCursorVisible(false);
search_edit_text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
search_edit_text.setCursorVisible(true);
}
});
tabs_sliding_strip = (PagerSlidingTabStrip)findViewById(R.id.pager_sliding_tab_strip);
pager = (ViewPager)findViewById(R.id.pager);
adapter_tests = new Tests(getSupportFragmentManager());
pager.setAdapter(adapter_tests);
final int page_margin = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, getResources().getDisplayMetrics());
pager.setPageMargin(page_margin);
tabs_sliding_strip.setTextColor(Color.parseColor("#FFFFFF"));
tabs_sliding_strip.setTabActiveTextColor(Color.parseColor("#673AB7"), Color.parseColor("#FFFFFF"));
tabs_sliding_strip.setViewPager(pager);
// tabs_sliding_strip.setTextColor(Color.parseColor("#FF00FF"));
}
public class Tests extends FragmentPagerAdapter{
private final String[] tests_types = {"BEFORE CONNECTING FUSE","AFTER CONNECTING FUSE","PISTON","FINAL AMMUNITATION"};
public Tests(FragmentManager fm) {
super(fm);
// TODO Auto-generated constructor stub
}
@Override
public CharSequence getPageTitle(int position) {
return tests_types[position];
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return tests_types.length;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new ManualMode_BC_Fuse_ckt();
case 1:
return new Manual_AC_Fuse_ckt();
case 2:
return new piston();
case 3:
return new Manualmode_final();
}
return new ManualMode_BC_Fuse_ckt();
}
}
这是我的 fragment Activity :
包 com.developer.mainandroid;
import com.milan.material.widget.FloatingEditText;
import com.milan.validation.lib.RegExpressionValueValidator;
import com.milan.validation.lib.ValidationManager;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.app.AlertDialog.Builder;
import android.graphics.Color;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.TextView;
import android.widget.Toast;
public class Manual_AC_Fuse_ckt extends Fragment {
Manual manual_child;
static FloatingEditText number_edit_text;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Root_view = inflater.inflate(R.layout.manualmode_ac_fuse_ckt, null);
manual_child = new Manual();
number_edit_text = (FloatingEditText)getActivity().findViewById(R.id.edt_number);
registerForContextMenu(table_fuse_afer_cnc);
return Root_view;
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("MANUAL MODE : AFTER FUSE CONNECTION");
menu.add(1, v.getId(), 0, "TEST ");
menu.add(1, v.getId(), 0, "SELECT ALL ");
menu.add(1, v.getId(), 0, "DESELECT ALL ");
super.onCreateContextMenu(menu, v, menuInfo);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getTitle()=="TEST ")
{
if(manual_child.search_edit_text.equals(""))
{
Toast.makeText(getActivity(), "Please enter number", Toast.LENGTH_LONG).show();
}
else{
//Do some operations
}
else if(item.getTitle()=="SELECT ALL ")
{
}
else if(item.getTitle()=="DESELECT ALL ")
{
}
return super.onContextItemSelected(item);
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if(activity.getClass()==Manual.class){
manual_child = (Manual)activity;
}
}
}
这是我的 Logcat:
01-02 03:07:43.170: E/AndroidRuntime(13424): FATAL EXCEPTION: main
01-02 03:07:43.170: E/AndroidRuntime(13424): java.lang.NullPointerException
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.app.Activity.findViewById(Activity.java:1853)
01-02 03:07:43.170: E/AndroidRuntime(13424): at com.developer.mainandroid.Manual_AC_Fuse_ckt.onCreateView(Manual_AC_Fuse_ckt.java:74)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:953)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1136)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1499)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:488)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.View.measure(View.java:15848)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:728)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:477)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.View.measure(View.java:15848)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5012)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.View.measure(View.java:15848)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5012)
01-02 03:07:43.170: E/AndroidRuntime(13424): at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:302)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.View.measure(View.java:15848)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5012)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
01-02 03:07:43.170: E/AndroidRuntime(13424): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2189)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.View.measure(View.java:15848)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1905)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1104)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1284)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1004)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5481)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.Choreographer.doCallbacks(Choreographer.java:562)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.Choreographer.doFrame(Choreographer.java:532)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.os.Handler.handleCallback(Handler.java:730)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.os.Handler.dispatchMessage(Handler.java:92)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.os.Looper.loop(Looper.java:137)
01-02 03:07:43.170: E/AndroidRuntime(13424): at android.app.ActivityThread.main(ActivityThread.java:5103)
01-02 03:07:43.170: E/AndroidRuntime(13424): at java.lang.reflect.Method.invokeNative(Native Method)
01-02 03:07:43.170: E/AndroidRuntime(13424): at java.lang.reflect.Method.invoke(Method.java:525)
01-02 03:07:43.170: E/AndroidRuntime(13424): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
01-02 03:07:43.170: E/AndroidRuntime(13424): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
01-02 03:07:43.170: E/AndroidRuntime(13424): at dalvik.system.NativeStart.main(Native Method)
最佳答案
使用
EditText editText = getActivity().findViewById(R.id.EditText);
关于android - 如何访问android中 fragment 内的 Activity View 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31199746/
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 4 年前。 Improv
PowerShell Web Access 允许您通过 Web 浏览器运行 PowerShell cmdlet。它显示了一个基于 Web 的控制台窗口。 有没有办法运行 cmdlet 而无需在控制台窗
我尝试在无需用户登录的情况下访问 Sharepoint 文件。 我可以通过以下任一方式获取访问 token 方法一: var client = new RestClient("https://logi
我目前正在尝试通过 Chrome 扩展程序访问 Google 服务。我的理解是,对于 JS 应用程序,Google 首选的身份验证机制是 OAuth。我的应用目前已成功通过 OAuth 向服务进行身份
假设我有纯抽象类 IHandler 和派生自它的类: class IHandler { public: virtual int process_input(char input) = 0; };
我有一个带有 ThymeLeaf 和 Dojo 的 Spring 应用程序,这给我带来了问题。当我从我的 HTML 文件中引用 CSS 文件时,它们在 Firebug 中显示为中止。但是,当我通过在地
这个问题已经有答案了: JavaScript property access: dot notation vs. brackets? (17 个回答) 已关闭 6 年前。 为什么这不起作用? func
我想将所有流量重定向到 https,只有 robot.txt 应该可以通过 http 访问。 是否可以为 robot.txt 文件创建异常(exception)? 我的 .htaccess 文件: R
我遇到了 LinkedIn OAuth2: "Unable to verify access token" 中描述的相同问题;但是,那里描述的解决方案并不能解决我的问题。 我能够成功请求访问 toke
问题 我有一个暴露给 *:8080 的 Docker 服务容器. 我无法通过 localhost:8080 访问容器. Chrome /curl无限期挂断。 但是如果我使用任何其他本地IP,我就可以访
我正在使用 Google 的 Oauth 2.0 来获取用户的 access_token,但我不知道如何将它与 imaplib 一起使用来访问收件箱。 最佳答案 下面是带有 oauth 2.0 的 I
我正在做 docker 入门指南:https://docs.docker.com/get-started/part3/#recap-and-cheat-sheet-optional docker-co
我正在尝试使用静态 IP 在 AKS 上创建一个 Web 应用程序,自然找到了一个带有 Nginx ingress controller in Azure's documentation 的解决方案。
这是我在名为 foo.js 的文件中的代码。 console.log('module.exports:', module.exports) console.log('module.id:', modu
我试图理解访问键。我读过https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-se
我正在使用 MGTwitterEngine"将 twitter 集成到我的应用程序中。它在 iOS 4.2 上运行良好。当我尝试从任何 iOS 5 设备访问 twitter 时,我遇到了身份验证 to
我试图理解访问键。我读过https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-se
我正在使用以下 API 列出我的 Facebook 好友。 https://graph.facebook.com/me/friends?access_token= ??? 我想知道访问 token 过
401 Unauthorized - Show headers - { "error": { "errors": [ { "domain": "global", "reas
我已经将我的 django 应用程序部署到 heroku 并使用 Amazon s3 存储桶存储静态文件,我发现从 s3 存储桶到 heroku 获取数据没有问题。但是,当我测试查看内容存储位置时,除
我是一名优秀的程序员,十分优秀!