0
私のアプリは完璧に動作していました。しかし、コピーしたonlicklistnerを追加した後は、リフレッシュをクリックするたびにアプリケーションがクラッシュするようになっています。 ここに私のコードです。Android Firebase:アプリケーションがクラッシュしたときにクリック
public View onCreateView(LayoutInflater paramLayoutInflater, ViewGroup paramViewGroup, Bundle paramBundle) {
this.localView = paramLayoutInflater.inflate(R.layout.fragmenthome, paramViewGroup, false);
story = (TextView) localView.findViewById(R.id.story_text);
rl = (RelativeLayout) localView.findViewById(R.id.rlLayout);
linearLayout = (LinearLayout) localView.findViewById(R.id.bottom_bar);
imgCopy = (ImageView) localView.findViewById(R.id.copyStory);
imgRefresh = (ImageView) localView.findViewById(R.id.refreshStory);
databaseReference = FirebaseDatabase.getInstance().getReference().child("stories");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
storiesary = new ArrayList<String>();
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
HashMap map =(HashMap) childSnapshot.getValue();
if(map!=null) {
storiesary.add((String) map.get("storytext"));
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d(TAG,"check your internet connection and try again");
}
});
imgRefresh.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setStory();
}
});
imgCopy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String copy = story.getText().toString();
ClipboardManager clipboard = (ClipboardManager) FragmentHome.this.getActivity().getSystemService(FragmentHome.this.getActivity().CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("cpy_quotes", copy);
clipboard.setPrimaryClip(clip);
Toast.makeText(FragmentHome.this.getActivity(), "Text Copied to clipboard.", 0).show();
}
});
return localView;
}
public void setStory()
{
int arraysize = storiesary.size();
final int arrayposition1 = (new Random()).nextInt(arraysize);
story.setText(storiesary.get(arrayposition1));
}
そして、これは私がコピー用のコードを削除した場合、アプリが完全に実行されている
リフレッシュ
をクリックした後、私は取得していますものです。
問題が解決しました..ありがとうございました –
@DalsukhTapaniyaは答えを受け入れます –