我有一个场景,片段在其布局中有自定义视图(通过扩展View类).自定义视图必须访问片段的某些方法.但是我无法在自定义视图中获得片段引用.此外,我无法从自定义视图(这是片段的子级)访问片段的任何方式
根据android片段:我们在视图的构造函数中获取上下文.此上下文是活动的实例.但是没有办法获得托管customview的片段的引用.
请让我知道如何访问自定义视图中的片段.
编辑:
添加代码以更好地理解我的问题:
MyFragment .java
公共类MyFragment扩展Fragment {
int selectedOptionIndex;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//get value of selectedOptionIndex from bundle and save it to this.selectedOptionIndex;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
this.activity = activity;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.myFragmentview, container, false);
return view;
Run Code Online (Sandbox Code Playgroud)
//i can access views from fragment, but not vice versa.
}
}
myFragmentview.xml
<com.test.CustomView
android:id="@+id/myCustomView" android:layout_width="fill_parent"
android:layout_height="40dip" layout_weight="1"
/>
Run Code Online (Sandbox Code Playgroud)
公共类CustomView扩展View { …
我有两个项目Project_A和Project_B.Project_B是Project_A的库项目.Project_B在其libs文件夹中有外部jar.
当我在Project_A上运行proguard时,我得到错误:
(Unknown verification type [69] in stack map frame))
Run Code Online (Sandbox Code Playgroud)
错误引用外部jar中存在的文件(存在于Project_B的库中)
我正在使用android SDK中的标准proguard.cfg文件.
我试过"-keep class.**",但我仍然得到同样的错误.
如果我有办法排除Project_B(图书馆项目)及其混淆的罐子,请告诉我.我想只在Project_A上运行proguard,而不是在它的库项目上运行.