Tag: android fragments

Fragment null必须是要从实例状态正确重新创建的公共静态类

当调用getSupportFragmentManager()时,我无法弄清楚为什么我的应用程序崩溃。我在其他应用程序中使用了类似的代码来创建警告对话框而没有任何问题。请帮忙! DialogFragment df = new DialogFragment(){ @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); View view = getActivity().getLayoutInflater().inflate(R.layout.addincome,null); builder.setView(view); //capture final EditText amountEditText=(EditText)view.findViewById(R.id.edit_amount); final EditText descriptionEditText=(EditText)view.findViewById(R.id.edit_description); builder.setNegativeButton(android.R.string.cancel,null); builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { newIncome.setAmount(Double.parseDouble(amountEditText.getText().toString())); newIncome.setDescription(descriptionEditText.getText().toString()); user.incomes.add(newIncome); HashMap modified = new HashMap(); modified.put(uid,user); rootref.setValue(modified); } }); […]

我怎样才能在mainActivity中找到最后一个片段

我想让我的viewPager支持Rtl,并在最后一个片段上设置当前项,但是当我在MainActivity.java编写这段代码时,我不知道如何访问最后一个片段。 根据这篇文章 ,我想让我的viewPager到Rtl: iViewPager.setCurrentItem(); MainActivity.java ,我在其中定义viewPager : package com.example.imajid.grid2.activities; import android.support.design.widget.NavigationView; import android.support.design.widget.TabLayout; import android.support.v4.view.GravityCompat; import android.support.v4.view.ViewPager; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import com.example.imajid.grid2.R; import com.example.imajid.grid2.adapters.PagerAdapter; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { private DrawerLayout mDrawerLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); […]

片段无法转换为Context

这是我第一次使用片段(android dev的新手),我正在尝试设置一个微调器。 目前我对上下文很困惑,似乎无法解决这个错误: Error:(52, 78) error: incompatible types: HotkeysFragment cannot be converted to Context 这是它所指的代码: HotkeysFragment.java @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getArguments() != null) { mParam1 = getArguments().getString(ARG_PARAM1); mParam2 = getArguments().getString(ARG_PARAM2); } Spinner hotkey_selector_spinner = (Spinner) rootView.findViewById(R.id.hotkey_selector_spinner); ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.hotkey_options, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); hotkey_selector_spinner.setAdapter(adapter); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup […]

片段和baseadapter之间的Android通信

需要专家意见我应该如何构建这个问题。 我有一个自定义方法process_filter ,它驻留在一个片段中,因为它需要访问该片段的私有TextView和List 。 在处理过程中,这个片段将访问BaseAdapter ,在这个BaseAdapter我需要使用back process_filter方法 基本上这里是结构: MyFragment.java public class MyFragment extends Fragment { private List filter_list; private TextView no_of_filter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.my_fragment_layout, container, false); no_of_filter = (TextView) view.findViewById(R.id.no_of_filter_tv); . MyAdapter custom_adapter = new MyAdapter(context, “string 1”, “string 2”); . process_filter(“string 1”, “string […]

NullPointerException:尝试从空对象引用上的字段’int android.app.Fragment.mContainerId’读取

在Android Lollipop上只有片段上的事务有一些有趣的问题。 当我返回并删除以前添加的片段时发生崩溃。 这是stacktrace: FATAL EXCEPTION: main Process: com.parkme.consumer, PID: 15560 java.lang.NullPointerException: Attempt to read from field ‘int android.app.Fragment.mContainerId’ on a null object reference at android.app.BackStackRecord$1.onPreDraw(BackStackRecord.java:1131) at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1970) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) […]

如何从android中的另一个片段类调用一个片段的方法

我想从fragmentA中调用FragmentB(Class)的方法,我在fragmentA(类)中创建了fragmentb的对象,但是这里没有工作的是这个类中fragmentA的代码我有一个方法,我将通过它调用FragmentB类的方法 adddata.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { boolean isInserted = myDb.addalldata(monthly_income.getText().toString(), room_rent.getText().toString(), mess_rent.getText().toString()); if (isInserted = true) Toast.makeText(getActivity().getBaseContext(), “Data Inserted”, Toast.LENGTH_LONG).show(); else Toast.makeText(getActivity().getBaseContext(), “Data not Inserted”, Toast.LENGTH_LONG).show(); } } ); 我想调用fragmentB的这个方法 public void show() { Cursor res = myDb.getAllData(); StringBuffer buffer = new StringBuffer(); while (res.moveToNext()) { displayresult.setText( buffer.append( res.getString(1))); } […]

volley json缓存图像无法脱机工作

你好,我是anroid的初学者。 我创建了导航抽屉和碎片。 我可以使用url从json获取数据。 它在网上工作。 但离线时手机我正在“无法解决主机”错误。 我想在离线时使用json从url获取数据。 这不是缓存输入图像描述 分段 private static final String jsonUrl = “http://sunumsitesi.com/json.php”; private ProgressDialog pDialog; private List urunList = new ArrayList(); private ListView listView; private CustomListAdapter adapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View root = inflater.inflate(R.layout.fragment_yemek, container, false); return root; } @Override public void onActivityCreated(Bundle savedInstanceState) […]

在不使用任何ressource xml的情况下将视图(按钮,标签等)添加到动态片段

首先我要说的是,我想说“你好在这里”。 要求: 我应该可以创建一个客户端应用程序,从数据库中获取有关控件的元数据。 此应用程序应该能够从一个视图(具有子视图,例如按钮)切换到另一个视图。 状态: 我创建了一个相对庞大的开发模型,使用接口和子类(例如按钮),它们都实现了特殊的自己的接口,以便对我的需求做出适当的反应。 我读到了片段,片段活动和片段,我必须使用v4兼容性类,所以我的活动inheritance自FragmentActivity并实现一些特殊的自己的接口。 我现在处于这样的位置,其中一个控制器类,它是我的FragmentActivity类中唯一的引用,做了很多事情,最后应该使片段可见。 我也已经在集合中收集了这些子视图(按钮,标签,文本视图),每个运行时创建的片段现在应该“将其子视图”放在屏幕上。 请记住,我的自定义视图“Fragment”inheritance自Fragment并实现了一些特殊的东西。 我的片段是在运行时创建的,所以我没有任何定义任何布局的xml。 问题: a)我可以在没有xml-layout的情况下工作,并在编程时和运行时将任何布局应用于片段吗? 我在自定义片段类中使用全局声明的布局的第一次尝试没有成功,因为我想在几个状态期间调用getView()但总是为空。 所以我必须问 b)问题b(仅当a == true时)何时以及如何从getView接收正确的视图以便以编程方式设置布局? THX提前。

使用bundle,seListAdapter运行时错误将ArrayList从片段传递到另一个片段(扩展ListFragment)

我已尝试使用静态变量为ArrayList但在ListFragment类中,而调试它的值为null。 我认为ListFragment是在初始化ArrayList之前创建的,这就是为什么它是null,但不确定。 建议我是否可以使用任何其他方式将膨胀的ArrayList从Fragment类发送到扩展ListFragment的其他Fragment类。 提前致谢。 目标(这是线索,需要做什么) 在Monday_fragment的onStart()方法中,使用findByView()方法在页面视图中查找保存条目按钮的标签。 使用对按钮的引用将setOnClickListener()方法附加到保存按钮。 您需要在此方法中保存页面上EditText字段中包含的时间和日记条目字符串。 使用findViewById()也可以获得对第一个EditText字段的引用,并使用它来获取字段的文本作为字符串并将其保存为字符串。 对下一个EditText – 日记条目重复此操作。 您将需要一个可公开访问的变量来存储当天(星期一……星期五)的参考,日期时间字符串和日记条目字符串。 使用这些字段创建一个新类(diaryLogs)来保存值和一个构造函数,它接受一个int(0 Mon,1 Tue,2 Wed etc)和两个字符串作为日期时间和日记条目来初始化一个对象的实例。 由于将在同一天进行多个条目,因此请使用ArrayList 来存储值。 由于此值将在片段之间共享,因此在MainActivity类中将变量声明为static。 使用ArrayList的.add()方法将新的diaryLog添加到setOnClickListener()方法中的ArrayList。 对其他日记页面片段重复此操作。 monday_list片段由ListView和用于返回Monday_fragment页面的按钮组成。 在monday_list xml文件中创建这些对象。 创建一个扩展ListFragment类的Monday_list_fragment。 在onCreateView()方法中inflate()monday_list资源。 在onCreate()方法中,您需要提供单个字符串数组作为用于填充页面上ListView的setListAdapter()方法中列表的源。 字符串位于MainActivity中的静态ListArray变量中。 但是,它们不是必需的forms,您必须解压缩diaryLog元素才能获得所需的字符串。 要做到这一点,你必须创建一个足够大的String数组来保存要显示的字符串。 由于这包含日期/时间字符串后跟日记条目字符串,因此每个diaryLog元素将有两个这样的字符串。 使用迭代器迭代ListArray。 将日期字符串和日记字符串字符串复制到本地字符串中。 然后使用此本地字符串作为setListAdapter()的相关参数,以便ListView显示所需的字符串。 在MainActivity java文件中添加单击处理程序,以便单击Monday片段页面中的Save Diary Entries按钮可以使用FragmentManager使Monday_list_fragment可见。 还要在MainActivity中添加一个单击处理程序,以便单击Return to Monday Diary按钮返回到Monday_fragment页面。 UPDATE 类MainActivity public class MainActivity extends Activity { public static int […]

Android Studio无法解析fragmentActivity和ViewPager导入

我按照开发可滑动选项卡的教程进行操作。 当我导入时: import android.support.v4.app.FragmentActivity; import android.support.v4.view.ViewPager; Android Studio显示我无法解析符号“ViewPager”和“FragmentActivity”。 怎么解决这个? 谢谢。 下面是我的项目的完整代码。 import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.FragmentTransaction; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.view.ViewPager; public class MainActivity extends FragmentActivity implements ActionBar.TabListener { private ViewPager viewPager; private TabsPagerAdapter mAdapter; private ActionBar actionBar; // Tab titles private String[] tabs = { “Top Rated”, “Games”, “Movies” }; @Override protected […]