<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#878787" >
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="dfgdfgdf"
android:textSize="20dp"
android:layout_centerInParent="true"
android:id="@+id/user_name"/>
<EditText
android:id="@+id/message"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:text="Gönder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="getFromUser"
android:layout_marginTop="40dp"
/>
</RelativeLayout>
public void startChat(JsonObject user) {
FrameLayout layout = (FrameLayout)findViewById(R.id.container);
layout.setVisibility(View.VISIBLE);
Bundle bundle = new Bundle();
bundle.putString("name", user.get("name").getAsString());
sendTo=user.get("username").getAsString();
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
ConversationFragment conv = new ConversationFragment();
conv.setArguments(bundle);
fragmentTransaction.add(R.id.container, conv);
fragmentTransaction.commit();
viewPager.setVisibility(View.GONE);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayHomeAsUpEnabled(true);
}
public class ConversationFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
String name = getArguments().getString("name");
View rootView = inflater.inflate(R.layout.fragment_conversation, container, false);
TextView username=(TextView)rootView.findViewById(R.id.user_name);
username.setText(name);
return rootView;
}
}
如您所见,当按下按钮时,main activity运行“GetFromuser”函数。我想在该函数中获取edittext值。我该怎么做呢?
对这些事情总是同样的程序。您不能像那样访问片段的视图。您需要一个回调方法。
将此代码添加到ConversationFragment中:
private OnGetFromUserClickListener mListener;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (OnGetFromUserClickListener ) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement OnGetFromUserClickListener");
}
}
public void getFromUser(View v) {
if (mListener != null) {
EditText edit = (EditText)findViewById(R.id.message);
mListener.getFromUser(edit.getText().toString());
}
}
public interface OnGetFromUserClickListener {
void getFromUser(String message);
}
使您的MainActivity实现此接口。将MainActivity中的getFromUser()替换为:
public void getFromUser(String message) {
sendMessage(message);
}
v.findViewById(R.id.get_from_user).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.get_from_user) {
getFromUser(v);
}
}
});
我做错了什么? 这是我的XML文件。课文是德语的,我希望你能理解一切。否则请问我。
我正在尝试创建searchdate。我在这里做的是 下面是 所以首先,我打开,它是一个片段。然后单击(编辑文本)后,它将显示(DatePickerFragment)。显示没有问题,也没有错误。 我的问题是,我怎么能设置值后,我选择日期从我的?
问题内容: 确实需要一些建议,不知道这里出了什么问题。 上下文:2个片段,每个片段都有一个Textview,主要活动有2个按钮和一个edittext 目的:在主活动的edittext框中键入hello,然后单击片段1的按钮,textview将变为hello。 问题: 在edittext中输入hello并单击按钮1时,会遇到运行时错误。 Logcat: fragment_one.xml activi
我在回收站被击中查看, 这里的名称和平衡字段来自两个不同的数组。我需要的是,这里每一行都有一个EditText字段。我需要访问每一行上的每个EditText。并从中获取值...总计显示在Total text View上。可能吗?我试了很多次。我没有得到它。 我在这里上课。 主要活动 } 数据持有者 } 适配器 }
似乎有很多与这个主题相关的问题。当我阅读大部分时,我有一个问题。通常人们试图制作一个片段,然后从那里生成一个对话片段。所以对话片段在片段中。 在我的例子中,我创建了一个按钮,用于打开工具栏上的dialogfragment。然后我从导航栏打开我的主要片段。因此dialogfragment和我的主片段通过相同的主活动被调用,只是在不同的地方。我无法从片段内部调用对话框片段,因为它在选择菜单选项时被调用
问题内容: 我托管了5个片段,在每个片段上我都需要填写一些字段。 我想从中获取这些字段的值。我尝试了类似的东西: AddActivity.java FragPagerAdapter.java OtherFragment.java 公共类OtherFragment扩展Fragment {Button btn; 更新 的问题我总是得到EditText(而其他字段要获得)的问题等于null如果它们位于片