انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
۳ عدد خطای ناقابل!!!

۳ عدد خطای ناقابل!!!

#1
Wink 
سلام دوستان!

من یک Custom ListView دارم که در هر آیتم اون ۳ تا دکمه (لایک , کپی , اشتراک) و یک TextView هست.

- من میخوام با زدن روی دکمه copy ، متن داخل textview در حافظه کپی بشه و
- با زدن روی دکمه اشتراک ، متن داخل textview برای اشتراک فرستاده بشه.

کدهاش رو از اینترنت گیر آوردم ولی متاسفانه ۳ تا خطا داره!!!

آیا میتونید این ۳ تا خطا رو برطرف کنید؟

سورس پروژه در ضمیمه هست

لطفا دانلود کنید و اگر بلد هستید کمکم کنید...

چند روزه درگیرشم ولی نتونستم حلش کنم!!!

Blush


فایل‌های پیوست

دانلود Latifeha.zip

نام فایل Latifeha.zip
نوع فایل .zip
دفعات دانلود 113
اندازه 1.64 MB
ارسال کننده فایل Rezaps68
پاسخ

۳ عدد خطای ناقابل!!!

#2
کدها به شرح زیر هستند:

main.xml
لایه اصلی
کد:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="top|center">

<ListView
android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/listview1"
android:background="#FFFFFF"/>

</LinearLayout>




clv.xml
لایه ای که در هر ایتم  ListView  قرار میگیرد
کد:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center">

<TextView
android:id="@+id/textview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:textStyle="bold"
android:layout_margin="10dp"
android:text="textview1"/>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_margin="10dp">

<Button
android:id="@+id/b_like"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/b_like"
android:text="like"/>

<Button
android:id="@+id/b_share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/b_share"
android:text="share"/>

<Button
android:id="@+id/b_copy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/b_copy"
android:text="copy"/>

</LinearLayout>

</LinearLayout>



MainActivity.java
کلاس اصلی
کد:
package com.reza.latifeha;



import android.app.*;
import android.content.*;
import android.database.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import java.io.*;
import java.util.*;

public class MainActivity extends Activity
{

public ProgressDialog mProgressDialog;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);


ArrayList<String> list = new ArrayList<String>();


list.add("item1");
list.add("item2");
list.add("item3");
list.add("item4");
list.add("item5");


MyCustomAdapter adapter = new MyCustomAdapter(list, this);

ListView lView = (ListView)findViewById(R.id.listview1);
lView.setAdapter(adapter);

}  

}


۳خطا در کلاس زیر است:
در خطوط ۸۹ و ۱۰۵
MyCustomAdapter.java
کد:
package com.reza.latifeha;

import android.annotation.*;
import android.content.*;
import android.view.*;
import android.widget.*;
import java.util.*;


public class MyCustomAdapter extends BaseAdapter implements ListAdapter
{
private ArrayList<String> list = new ArrayList<String>();
private Context context;



public MyCustomAdapter(ArrayList<String> list, Context context) {
this.list = list;
this.context = context;
}

@Override
public int getCount() {
return list.size();
}

@Override
public Object getItem(int pos) {
return list.get(pos);
}

@Override
public long getItemId(int pos) {
return list.size();
//just return 0 if your list items do not have an Id variable.

}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.clv, null);
}

//Handle TextView and display string from your list
final TextView textview1 = (TextView)view.findViewById(R.id.textview1);
textview1.setText(list.get(position));

//Handle buttons and add onClickListeners
final Button b_like = (Button)view.findViewById(R.id.b_like);
final Button b_share = (Button)view.findViewById(R.id.b_share);
final Button b_copy = (Button)view.findViewById(R.id.b_copy);



b_like.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {

// finish();

b_like.setText("k");      

// list.remove(position);
// notifyDataSetChanged();
}

});


b_share.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {


Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, textview1.getText().toString());
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "");
startActivity(Intent.createChooser(shareIntent, "Share Text"));


}
});



b_copy.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {

Co1pyrith();
}

@SuppressLint("NewApi")
public void Co1pyrith () {
// TODO Auto-generated method stub
String cop_txt = textview1.getText().toString();
int startmsg = textview1.getSelectionStart();
int endmsg = textview1.getSelectionEnd();
String copymsg = cop_txt.substring(startmsg, endmsg);
ClipboardManager clipb = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipb.setText(cop_txt);



}

});




return view;
}

}
پاسخ

۳ عدد خطای ناقابل!!!

#3
با آوردن MyCustomAdapter داخل MainActivity ارورها برطرف میشه.
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان